diff options
| author | beck <> | 2014-04-26 18:56:38 +0000 |
|---|---|---|
| committer | beck <> | 2014-04-26 18:56:38 +0000 |
| commit | e7dbd7a1e2ad3e12dafa2919bc8603d60416ea4d (patch) | |
| tree | dff54039de6c4454b05953e2ce78edfc5693e6b5 /src/lib/libcrypto/conf/conf_mod.c | |
| parent | a1c73b72875dcb25545f111b3779cf0f0ebf9c88 (diff) | |
| download | openbsd-e7dbd7a1e2ad3e12dafa2919bc8603d60416ea4d.tar.gz openbsd-e7dbd7a1e2ad3e12dafa2919bc8603d60416ea4d.tar.bz2 openbsd-e7dbd7a1e2ad3e12dafa2919bc8603d60416ea4d.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 | ||
