Merge pull request #1223 from JacobBarthelmeh/Memory

fix for logging file names
This commit is contained in:
dgarske
2017-11-10 14:04:55 -08:00
committed by GitHub
2 changed files with 17 additions and 12 deletions

View File

@@ -207,8 +207,8 @@ void WOLFSSL_BUFFER(const byte* buffer, word32 length)
void WOLFSSL_ENTER(const char* msg) void WOLFSSL_ENTER(const char* msg)
{ {
if (loggingEnabled) { if (loggingEnabled) {
char buffer[80]; char buffer[WOLFSSL_MAX_ERROR_SZ];
sprintf(buffer, "wolfSSL Entering %s", msg); XSNPRINTF(buffer, sizeof(buffer), "wolfSSL Entering %s", msg);
wolfssl_log(ENTER_LOG , buffer); wolfssl_log(ENTER_LOG , buffer);
} }
} }
@@ -217,8 +217,9 @@ void WOLFSSL_ENTER(const char* msg)
void WOLFSSL_LEAVE(const char* msg, int ret) void WOLFSSL_LEAVE(const char* msg, int ret)
{ {
if (loggingEnabled) { if (loggingEnabled) {
char buffer[80]; char buffer[WOLFSSL_MAX_ERROR_SZ];
sprintf(buffer, "wolfSSL Leaving %s, return %d", msg, ret); XSNPRINTF(buffer, sizeof(buffer), "wolfSSL Leaving %s, return %d",
msg, ret);
wolfssl_log(LEAVE_LOG , buffer); wolfssl_log(LEAVE_LOG , buffer);
} }
} }
@@ -241,18 +242,20 @@ void WOLFSSL_ERROR(int error)
if (loggingEnabled && error != WC_PENDING_E) if (loggingEnabled && error != WC_PENDING_E)
#endif #endif
{ {
char buffer[80]; char buffer[WOLFSSL_MAX_ERROR_SZ];
#if defined(OPENSSL_EXTRA) || defined(DEBUG_WOLFSSL_VERBOSE) #if defined(OPENSSL_EXTRA) || defined(DEBUG_WOLFSSL_VERBOSE)
(void)usrCtx; /* a user ctx for future flexibility */ (void)usrCtx; /* a user ctx for future flexibility */
(void)func; (void)func;
if (wc_LockMutex(&debug_mutex) != 0) { if (wc_LockMutex(&debug_mutex) != 0) {
WOLFSSL_MSG("Lock debug mutex failed"); WOLFSSL_MSG("Lock debug mutex failed");
sprintf(buffer, "wolfSSL error occurred, error = %d", error); XSNPRINTF(buffer, sizeof(buffer),
"wolfSSL error occurred, error = %d", error);
} }
else { else {
if (error < 0) error = error - (2*error); /*get absolute value*/ if (error < 0) error = error - (2*error); /*get absolute value*/
sprintf(buffer, "wolfSSL error occurred, error = %d line:%d file:%s", XSNPRINTF(buffer, sizeof(buffer),
"wolfSSL error occurred, error = %d line:%d file:%s",
error, line, file); error, line, file);
if (wc_AddErrorNode(error, line, buffer, (char*)file) != 0) { if (wc_AddErrorNode(error, line, buffer, (char*)file) != 0) {
WOLFSSL_MSG("Error creating logging node"); WOLFSSL_MSG("Error creating logging node");
@@ -263,7 +266,8 @@ void WOLFSSL_ERROR(int error)
wc_UnLockMutex(&debug_mutex); wc_UnLockMutex(&debug_mutex);
} }
#else #else
sprintf(buffer, "wolfSSL error occurred, error = %d", error); XSNPRINTF(buffer, sizeof(buffer),
"wolfSSL error occurred, error = %d", error);
#endif #endif
#ifdef DEBUG_WOLFSSL #ifdef DEBUG_WOLFSSL
wolfssl_log(ERROR_LOG , buffer); wolfssl_log(ERROR_LOG , buffer);

View File

@@ -324,7 +324,8 @@
#define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n)) #define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n))
#endif #endif
/* snprintf is used in asn.c for GetTimeString and PKCS7 test */ /* snprintf is used in asn.c for GetTimeString, PKCS7 test, and when
debugging is turned on */
#ifndef USE_WINDOWS_API #ifndef USE_WINDOWS_API
#define XSNPRINTF snprintf #define XSNPRINTF snprintf
#else #else
@@ -451,9 +452,9 @@
}; };
/* max error buffer string size */ /* max error buffer string size */
enum { #ifndef WOLFSSL_MAX_ERROR_SZ
WOLFSSL_MAX_ERROR_SZ = 80 #define WOLFSSL_MAX_ERROR_SZ 80
}; #endif
/* stack protection */ /* stack protection */
enum { enum {