diff options
author | beck <> | 2014-04-26 18:56:38 +0000 |
---|---|---|
committer | beck <> | 2014-04-26 18:56:38 +0000 |
commit | 47bb6e76785f0b1c4d19d8d0a02f3eb3813f96e2 (patch) | |
tree | dff54039de6c4454b05953e2ce78edfc5693e6b5 /src/lib/libcrypto/conf/conf_mod.c | |
parent | 8f710803a9e330d7e3f2e62116ae5b3fc02bd6cf (diff) | |
download | openbsd-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.c | 11 |
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 | ||