summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/engine
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/engine
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/engine')
-rw-r--r--src/lib/libcrypto/engine/eng_cnf.c6
-rw-r--r--src/lib/libcrypto/engine/eng_fat.c2
-rw-r--r--src/lib/libcrypto/engine/eng_list.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/libcrypto/engine/eng_cnf.c b/src/lib/libcrypto/engine/eng_cnf.c
index 95c4070015..afb704e93b 100644
--- a/src/lib/libcrypto/engine/eng_cnf.c
+++ b/src/lib/libcrypto/engine/eng_cnf.c
@@ -203,9 +203,9 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf)
203 { 203 {
204 ENGINEerr(ENGINE_F_INT_ENGINE_CONFIGURE, ENGINE_R_ENGINE_CONFIGURATION_ERROR); 204 ENGINEerr(ENGINE_F_INT_ENGINE_CONFIGURE, ENGINE_R_ENGINE_CONFIGURATION_ERROR);
205 if (ecmd) 205 if (ecmd)
206 ERR_add_error_data(6, "section=", ecmd->section, 206 ERR_asprintf_error_data
207 ", name=", ecmd->name, 207 ("section=%s, name=%s, value=%s",
208 ", value=", ecmd->value); 208 ecmd->section, ecmd->name, ecmd->value);
209 } 209 }
210 if (e) 210 if (e)
211 ENGINE_free(e); 211 ENGINE_free(e);
diff --git a/src/lib/libcrypto/engine/eng_fat.c b/src/lib/libcrypto/engine/eng_fat.c
index 789b8d57e5..e01067566e 100644
--- a/src/lib/libcrypto/engine/eng_fat.c
+++ b/src/lib/libcrypto/engine/eng_fat.c
@@ -141,7 +141,7 @@ int ENGINE_set_default_string(ENGINE *e, const char *def_list)
141 { 141 {
142 ENGINEerr(ENGINE_F_ENGINE_SET_DEFAULT_STRING, 142 ENGINEerr(ENGINE_F_ENGINE_SET_DEFAULT_STRING,
143 ENGINE_R_INVALID_STRING); 143 ENGINE_R_INVALID_STRING);
144 ERR_add_error_data(2, "str=",def_list); 144 ERR_asprintf_error_data("str=%s",def_list);
145 return 0; 145 return 0;
146 } 146 }
147 return ENGINE_set_default(e, flags); 147 return ENGINE_set_default(e, flags);
diff --git a/src/lib/libcrypto/engine/eng_list.c b/src/lib/libcrypto/engine/eng_list.c
index 95c858960b..5528b5478f 100644
--- a/src/lib/libcrypto/engine/eng_list.c
+++ b/src/lib/libcrypto/engine/eng_list.c
@@ -389,7 +389,7 @@ ENGINE *ENGINE_by_id(const char *id)
389 { 389 {
390 ENGINEerr(ENGINE_F_ENGINE_BY_ID, 390 ENGINEerr(ENGINE_F_ENGINE_BY_ID,
391 ENGINE_R_NO_SUCH_ENGINE); 391 ENGINE_R_NO_SUCH_ENGINE);
392 ERR_add_error_data(2, "id=", id); 392 ERR_asprintf_error_data("id=%s", id);
393 } 393 }
394 return iterator; 394 return iterator;
395#else 395#else
@@ -416,7 +416,7 @@ ENGINE *ENGINE_by_id(const char *id)
416notfound: 416notfound:
417 ENGINE_free(iterator); 417 ENGINE_free(iterator);
418 ENGINEerr(ENGINE_F_ENGINE_BY_ID,ENGINE_R_NO_SUCH_ENGINE); 418 ENGINEerr(ENGINE_F_ENGINE_BY_ID,ENGINE_R_NO_SUCH_ENGINE);
419 ERR_add_error_data(2, "id=", id); 419 ERR_asprintf_error_data("id=%s", id);
420 return NULL; 420 return NULL;
421 /* EEK! Experimental code ends */ 421 /* EEK! Experimental code ends */
422#endif 422#endif