diff options
Diffstat (limited to 'src/lib/libcrypto/err')
| -rw-r--r-- | src/lib/libcrypto/err/err.c | 13 | ||||
| -rw-r--r-- | src/lib/libcrypto/err/err.h | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/err/err_all.c | 7 |
3 files changed, 17 insertions, 6 deletions
diff --git a/src/lib/libcrypto/err/err.c b/src/lib/libcrypto/err/err.c index 69713a6e2f..fcdb244008 100644 --- a/src/lib/libcrypto/err/err.c +++ b/src/lib/libcrypto/err/err.c | |||
| @@ -1066,6 +1066,13 @@ void ERR_set_error_data(char *data, int flags) | |||
| 1066 | void ERR_add_error_data(int num, ...) | 1066 | void ERR_add_error_data(int num, ...) |
| 1067 | { | 1067 | { |
| 1068 | va_list args; | 1068 | va_list args; |
| 1069 | va_start(args, num); | ||
| 1070 | ERR_add_error_vdata(num, args); | ||
| 1071 | va_end(args); | ||
| 1072 | } | ||
| 1073 | |||
| 1074 | void ERR_add_error_vdata(int num, va_list args) | ||
| 1075 | { | ||
| 1069 | int i,n,s; | 1076 | int i,n,s; |
| 1070 | char *str,*p,*a; | 1077 | char *str,*p,*a; |
| 1071 | 1078 | ||
| @@ -1074,7 +1081,6 @@ void ERR_add_error_data(int num, ...) | |||
| 1074 | if (str == NULL) return; | 1081 | if (str == NULL) return; |
| 1075 | str[0]='\0'; | 1082 | str[0]='\0'; |
| 1076 | 1083 | ||
| 1077 | va_start(args, num); | ||
| 1078 | n=0; | 1084 | n=0; |
| 1079 | for (i=0; i<num; i++) | 1085 | for (i=0; i<num; i++) |
| 1080 | { | 1086 | { |
| @@ -1090,7 +1096,7 @@ void ERR_add_error_data(int num, ...) | |||
| 1090 | if (p == NULL) | 1096 | if (p == NULL) |
| 1091 | { | 1097 | { |
| 1092 | OPENSSL_free(str); | 1098 | OPENSSL_free(str); |
| 1093 | goto err; | 1099 | return; |
| 1094 | } | 1100 | } |
| 1095 | else | 1101 | else |
| 1096 | str=p; | 1102 | str=p; |
| @@ -1099,9 +1105,6 @@ void ERR_add_error_data(int num, ...) | |||
| 1099 | } | 1105 | } |
| 1100 | } | 1106 | } |
| 1101 | ERR_set_error_data(str,ERR_TXT_MALLOCED|ERR_TXT_STRING); | 1107 | ERR_set_error_data(str,ERR_TXT_MALLOCED|ERR_TXT_STRING); |
| 1102 | |||
| 1103 | err: | ||
| 1104 | va_end(args); | ||
| 1105 | } | 1108 | } |
| 1106 | 1109 | ||
| 1107 | int ERR_set_mark(void) | 1110 | int ERR_set_mark(void) |
diff --git a/src/lib/libcrypto/err/err.h b/src/lib/libcrypto/err/err.h index b9f8c16d47..974cc9cc6f 100644 --- a/src/lib/libcrypto/err/err.h +++ b/src/lib/libcrypto/err/err.h | |||
| @@ -344,8 +344,9 @@ void ERR_print_errors_fp(FILE *fp); | |||
| 344 | #endif | 344 | #endif |
| 345 | #ifndef OPENSSL_NO_BIO | 345 | #ifndef OPENSSL_NO_BIO |
| 346 | void ERR_print_errors(BIO *bp); | 346 | void ERR_print_errors(BIO *bp); |
| 347 | void ERR_add_error_data(int num, ...); | ||
| 348 | #endif | 347 | #endif |
| 348 | void ERR_add_error_data(int num, ...); | ||
| 349 | void ERR_add_error_vdata(int num, va_list args); | ||
| 349 | void ERR_load_strings(int lib,ERR_STRING_DATA str[]); | 350 | void ERR_load_strings(int lib,ERR_STRING_DATA str[]); |
| 350 | void ERR_unload_strings(int lib,ERR_STRING_DATA str[]); | 351 | void ERR_unload_strings(int lib,ERR_STRING_DATA str[]); |
| 351 | void ERR_load_ERR_strings(void); | 352 | void ERR_load_ERR_strings(void); |
diff --git a/src/lib/libcrypto/err/err_all.c b/src/lib/libcrypto/err/err_all.c index fc049e8e88..bd8946d8ba 100644 --- a/src/lib/libcrypto/err/err_all.c +++ b/src/lib/libcrypto/err/err_all.c | |||
| @@ -104,6 +104,10 @@ | |||
| 104 | #endif | 104 | #endif |
| 105 | #include <openssl/comp.h> | 105 | #include <openssl/comp.h> |
| 106 | 106 | ||
| 107 | #ifdef OPENSSL_FIPS | ||
| 108 | #include <openssl/fips.h> | ||
| 109 | #endif | ||
| 110 | |||
| 107 | void ERR_load_crypto_strings(void) | 111 | void ERR_load_crypto_strings(void) |
| 108 | { | 112 | { |
| 109 | #ifndef OPENSSL_NO_ERR | 113 | #ifndef OPENSSL_NO_ERR |
| @@ -157,4 +161,7 @@ void ERR_load_crypto_strings(void) | |||
| 157 | #endif | 161 | #endif |
| 158 | ERR_load_COMP_strings(); | 162 | ERR_load_COMP_strings(); |
| 159 | #endif | 163 | #endif |
| 164 | #ifdef OPENSSL_FIPS | ||
| 165 | ERR_load_FIPS_strings(); | ||
| 166 | #endif | ||
| 160 | } | 167 | } |
