fix for check on return value with mutex error case

This commit is contained in:
Jacob Barthelmeh
2018-03-08 11:26:22 -07:00
parent 74475a26ba
commit 2a0ef55a66

View File

@ -12532,7 +12532,17 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
return ret; return ret;
} }
#elif (defined(OPENSSL_EXTRA) || defined(DEBUG_WOLFSSL_VERBOSE)) #elif (defined(OPENSSL_EXTRA) || defined(DEBUG_WOLFSSL_VERBOSE))
return wc_PullErrorNode(NULL, NULL, NULL); {
int ret = wc_PullErrorNode(NULL, NULL, NULL);
if (ret < 0) {
WOLFSSL_MSG("Error with pulling error node!");
WOLFSSL_LEAVE("wolfSSL_ERR_get_error", ret);
ret = 0 - ret; /* return absolute value of error */
}
return (unsigned long)ret;
}
#else #else
return (unsigned long)(0 - NOT_COMPILED_IN); return (unsigned long)(0 - NOT_COMPILED_IN);
#endif #endif
@ -14951,15 +14961,31 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
unsigned long wolfSSL_ERR_get_error_line_data(const char** file, int* line, unsigned long wolfSSL_ERR_get_error_line_data(const char** file, int* line,
const char** data, int *flags) const char** data, int *flags)
{ {
int ret;
WOLFSSL_STUB("wolfSSL_ERR_get_error_line_data"); WOLFSSL_STUB("wolfSSL_ERR_get_error_line_data");
if (flags != NULL) { if (flags != NULL) {
if ((*flags & ERR_TXT_STRING) == ERR_TXT_STRING) { if ((*flags & ERR_TXT_STRING) == ERR_TXT_STRING) {
return wc_PullErrorNode(file, data, line); ret = wc_PullErrorNode(file, data, line);
if (ret < 0) {
WOLFSSL_MSG("Error with pulling error node!");
WOLFSSL_LEAVE("wolfSSL_ERR_get_error_line_data", ret);
ret = 0 - ret; /* return absolute value of error */
}
return (unsigned long)ret;
} }
} }
return wc_PullErrorNode(file, NULL, line); ret = wc_PullErrorNode(file, NULL, line);
if (ret < 0) {
WOLFSSL_MSG("Error with pulling error node!");
WOLFSSL_LEAVE("wolfSSL_ERR_get_error_line_data", ret);
ret = 0 - ret; /* return absolute value of error */
}
return (unsigned long)ret;
} }