summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/err
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/err')
-rw-r--r--src/lib/libcrypto/err/err.c13
-rw-r--r--src/lib/libcrypto/err/err.h3
-rw-r--r--src/lib/libcrypto/err/err_all.c7
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)
1066void ERR_add_error_data(int num, ...) 1066void 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
1074void 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
1103err:
1104 va_end(args);
1105 } 1108 }
1106 1109
1107int ERR_set_mark(void) 1110int 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
346void ERR_print_errors(BIO *bp); 346void ERR_print_errors(BIO *bp);
347void ERR_add_error_data(int num, ...);
348#endif 347#endif
348void ERR_add_error_data(int num, ...);
349void ERR_add_error_vdata(int num, va_list args);
349void ERR_load_strings(int lib,ERR_STRING_DATA str[]); 350void ERR_load_strings(int lib,ERR_STRING_DATA str[]);
350void ERR_unload_strings(int lib,ERR_STRING_DATA str[]); 351void ERR_unload_strings(int lib,ERR_STRING_DATA str[]);
351void ERR_load_ERR_strings(void); 352void 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
107void ERR_load_crypto_strings(void) 111void 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 }