diff options
Diffstat (limited to 'app/openssl/crypto/err/err.c')
-rw-r--r-- | app/openssl/crypto/err/err.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/app/openssl/crypto/err/err.c b/app/openssl/crypto/err/err.c index 69713a6e..fcdb2440 100644 --- a/app/openssl/crypto/err/err.c +++ b/app/openssl/crypto/err/err.c @@ -1066,6 +1066,13 @@ void ERR_set_error_data(char *data, int flags) void ERR_add_error_data(int num, ...) { va_list args; + va_start(args, num); + ERR_add_error_vdata(num, args); + va_end(args); + } + +void ERR_add_error_vdata(int num, va_list args) + { int i,n,s; char *str,*p,*a; @@ -1074,7 +1081,6 @@ void ERR_add_error_data(int num, ...) if (str == NULL) return; str[0]='\0'; - va_start(args, num); n=0; for (i=0; i<num; i++) { @@ -1090,7 +1096,7 @@ void ERR_add_error_data(int num, ...) if (p == NULL) { OPENSSL_free(str); - goto err; + return; } else str=p; @@ -1099,9 +1105,6 @@ void ERR_add_error_data(int num, ...) } } ERR_set_error_data(str,ERR_TXT_MALLOCED|ERR_TXT_STRING); - -err: - va_end(args); } int ERR_set_mark(void) |