summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/conf/conf_mod.c
diff options
context:
space:
mode:
authorbeck <>2014-04-26 18:56:38 +0000
committerbeck <>2014-04-26 18:56:38 +0000
commit47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2 (patch)
treedff54039de6c4454b05953e2ce78edfc5693e6b5 /src/lib/libcrypto/conf/conf_mod.c
parent8f710803a9e330d7e3f2e62116ae5b3fc02bd6cf (diff)
downloadopenbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.tar.gz
openbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.tar.bz2
openbsd-47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2.zip
Replace all use of ERR_add_error_data with ERR_asprintf_error_data.
This avoids a lot of ugly gymnastics to do snprintfs before sending the bag of strings to ERR, and eliminates at least one place in dso_dlfctn.c where it was being called with the incorrect number of arguments and using random things off the stack as addresses of strings. ok krw@, jsing@
Diffstat (limited to 'src/lib/libcrypto/conf/conf_mod.c')
-rw-r--r--src/lib/libcrypto/conf/conf_mod.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/lib/libcrypto/conf/conf_mod.c b/src/lib/libcrypto/conf/conf_mod.c
index 80266e43d8..b574104791 100644
--- a/src/lib/libcrypto/conf/conf_mod.c
+++ b/src/lib/libcrypto/conf/conf_mod.c
@@ -211,7 +211,7 @@ module_run(const CONF *cnf, char *name, char *value, unsigned long flags)
211 if (!md) { 211 if (!md) {
212 if (!(flags & CONF_MFLAGS_SILENT)) { 212 if (!(flags & CONF_MFLAGS_SILENT)) {
213 CONFerr(CONF_F_MODULE_RUN, CONF_R_UNKNOWN_MODULE_NAME); 213 CONFerr(CONF_F_MODULE_RUN, CONF_R_UNKNOWN_MODULE_NAME);
214 ERR_add_error_data(2, "module=", name); 214 ERR_asprintf_error_data("module=%s", name);
215 } 215 }
216 return -1; 216 return -1;
217 } 217 }
@@ -220,12 +220,11 @@ module_run(const CONF *cnf, char *name, char *value, unsigned long flags)
220 220
221 if (ret <= 0) { 221 if (ret <= 0) {
222 if (!(flags & CONF_MFLAGS_SILENT)) { 222 if (!(flags & CONF_MFLAGS_SILENT)) {
223 char rcode[DECIMAL_SIZE(ret) + 1];
224 CONFerr(CONF_F_MODULE_RUN, 223 CONFerr(CONF_F_MODULE_RUN,
225 CONF_R_MODULE_INITIALIZATION_ERROR); 224 CONF_R_MODULE_INITIALIZATION_ERROR);
226 snprintf(rcode, sizeof rcode, "%-8d", ret); 225 ERR_asprintf_error_data
227 ERR_add_error_data(6, "module=", name, ", value=", 226 ("module=%s, value=%s, retcode=%-8d",
228 value, ", retcode=", rcode); 227 name, value, ret);
229 } 228 }
230 } 229 }
231 230
@@ -272,7 +271,7 @@ err:
272 if (dso) 271 if (dso)
273 DSO_free(dso); 272 DSO_free(dso);
274 CONFerr(CONF_F_MODULE_LOAD_DSO, errcode); 273 CONFerr(CONF_F_MODULE_LOAD_DSO, errcode);
275 ERR_add_error_data(4, "module=", name, ", path=", path); 274 ERR_asprintf_error_data("module=%s, path=%s", name, path);
276 return NULL; 275 return NULL;
277} 276}
278 277