From 5c5cee07891ec2dfea7de4d5eea764eedfac20e3 Mon Sep 17 00:00:00 2001 From: toddouska Date: Tue, 6 Aug 2013 11:48:00 -0700 Subject: [PATCH] use external CYASSL_MAX_ERROR_SZ for buffer size --- ctaocrypt/src/error.c | 2 +- cyassl/ctaocrypt/error.h | 1 - cyassl/ctaocrypt/types.h | 5 +++++ cyassl/test.h | 2 +- examples/client/client.c | 2 +- examples/server/server.c | 2 +- src/internal.c | 2 +- src/ssl.c | 6 +++--- swig/cyassl_adds.c | 2 +- tests/api.c | 8 ++++---- 10 files changed, 18 insertions(+), 14 deletions(-) diff --git a/ctaocrypt/src/error.c b/ctaocrypt/src/error.c index 3d043a4df..ca2e490ba 100644 --- a/ctaocrypt/src/error.c +++ b/ctaocrypt/src/error.c @@ -35,7 +35,7 @@ void CTaoCryptErrorString(int error, char* buffer) { - const int max = MAX_ERROR_SZ; /* shorthand */ + const int max = CYASSL_MAX_ERROR_SZ; /* shorthand */ #ifdef NO_ERROR_STRINGS diff --git a/cyassl/ctaocrypt/error.h b/cyassl/ctaocrypt/error.h index 7f6c2ec69..617fa215b 100644 --- a/cyassl/ctaocrypt/error.h +++ b/cyassl/ctaocrypt/error.h @@ -33,7 +33,6 @@ /* error codes */ enum { - MAX_ERROR_SZ = 80, /* max size of error string */ MAX_CODE_E = -100, /* errors -101 - -199 */ OPEN_RAN_E = -101, /* opening random device error */ READ_RAN_E = -102, /* reading random device error */ diff --git a/cyassl/ctaocrypt/types.h b/cyassl/ctaocrypt/types.h index a9438eb85..1f714932a 100644 --- a/cyassl/ctaocrypt/types.h +++ b/cyassl/ctaocrypt/types.h @@ -247,6 +247,11 @@ enum { DYNAMIC_TYPE_TLSX = 43 }; +/* max error buffer string size */ +enum { + CYASSL_MAX_ERROR_SZ = 80 +}; + /* stack protection */ enum { MIN_STACK_BUFFER = 8 diff --git a/cyassl/test.h b/cyassl/test.h index 4cbd14cf0..09f7ac341 100644 --- a/cyassl/test.h +++ b/cyassl/test.h @@ -850,7 +850,7 @@ static INLINE unsigned int my_psk_server_cb(CYASSL* ssl, const char* identity, static INLINE int myVerify(int preverify, CYASSL_X509_STORE_CTX* store) { - char buffer[80]; + char buffer[CYASSL_MAX_ERROR_SZ]; #ifdef OPENSSL_EXTRA CYASSL_X509* peer; diff --git a/examples/client/client.c b/examples/client/client.c index cfc04d643..39aeb5035 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -608,7 +608,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args) else if (CyaSSL_connect(ssl) != SSL_SUCCESS) { /* see note at top of README */ int err = CyaSSL_get_error(ssl, 0); - char buffer[80]; + char buffer[CYASSL_MAX_ERROR_SZ]; printf("err = %d, %s\n", err, CyaSSL_ERR_error_string(err, buffer)); err_sys("SSL_connect failed"); diff --git a/examples/server/server.c b/examples/server/server.c index 6f2ee7f4c..b8d06a9b0 100644 --- a/examples/server/server.c +++ b/examples/server/server.c @@ -475,7 +475,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args) NonBlockingSSL_Accept(ssl); } else if (SSL_accept(ssl) != SSL_SUCCESS) { int err = SSL_get_error(ssl, 0); - char buffer[80]; + char buffer[CYASSL_MAX_ERROR_SZ]; printf("error = %d, %s\n", err, ERR_error_string(err, buffer)); err_sys("SSL_accept failed"); } diff --git a/src/internal.c b/src/internal.c index c2e48783c..cd6bbbccf 100644 --- a/src/internal.c +++ b/src/internal.c @@ -5581,7 +5581,7 @@ int SendAlert(CYASSL* ssl, int severity, int type) void SetErrorString(int error, char* str) { - const int max = MAX_ERROR_SZ; /* shorthand */ + const int max = CYASSL_MAX_ERROR_SZ; /* shorthand */ #ifdef NO_ERROR_STRINGS diff --git a/src/ssl.c b/src/ssl.c index db947b90f..cb219ee87 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -762,10 +762,10 @@ char* CyaSSL_ERR_error_string(unsigned long errNumber, char* data) void CyaSSL_ERR_error_string_n(unsigned long e, char* buf, unsigned long len) { CYASSL_ENTER("CyaSSL_ERR_error_string_n"); - if (len >= MAX_ERROR_SZ) + if (len >= CYASSL_MAX_ERROR_SZ) CyaSSL_ERR_error_string(e, buf); else { - char tmp[MAX_ERROR_SZ]; + char tmp[CYASSL_MAX_ERROR_SZ]; CYASSL_MSG("Error buffer too short, truncating"); if (len) { @@ -873,7 +873,7 @@ int CyaSSL_CertManagerUnloadCAs(CYASSL_CERT_MANAGER* cm) void CyaSSL_ERR_print_errors_fp(FILE* fp, int err) { - char data[MAX_ERROR_SZ + 1]; + char data[CYASSL_MAX_ERROR_SZ + 1]; CYASSL_ENTER("CyaSSL_ERR_print_errors_fp"); SetErrorString(err, data); diff --git a/swig/cyassl_adds.c b/swig/cyassl_adds.c index 0c15553b0..52cdb77e3 100644 --- a/swig/cyassl_adds.c +++ b/swig/cyassl_adds.c @@ -176,7 +176,7 @@ int CyaSSL_swig_connect(CYASSL* ssl, const char* server, int port) char* CyaSSL_error_string(int err) { - static char buffer[80]; + static char buffer[CYASSL_MAX_ERROR_SZ]; return CyaSSL_ERR_error_string(err, buffer); } diff --git a/tests/api.c b/tests/api.c index 140022461..ecd89a5ba 100644 --- a/tests/api.c +++ b/tests/api.c @@ -887,7 +887,7 @@ THREAD_RETURN CYASSL_THREAD test_server_nofail(void* args) if (CyaSSL_accept(ssl) != SSL_SUCCESS) { int err = CyaSSL_get_error(ssl, 0); - char buffer[80]; + char buffer[CYASSL_MAX_ERROR_SZ]; printf("error = %d, %s\n", err, CyaSSL_ERR_error_string(err, buffer)); /*err_sys("SSL_accept failed");*/ goto done; @@ -963,7 +963,7 @@ void test_client_nofail(void* args) if (CyaSSL_connect(ssl) != SSL_SUCCESS) { int err = CyaSSL_get_error(ssl, 0); - char buffer[80]; + char buffer[CYASSL_MAX_ERROR_SZ]; printf("err = %d, %s\n", err, CyaSSL_ERR_error_string(err, buffer)); /*printf("SSL_connect failed");*/ goto done2; @@ -1031,7 +1031,7 @@ void run_cyassl_client(void* args) if (CyaSSL_connect(ssl) != SSL_SUCCESS) { int err = CyaSSL_get_error(ssl, 0); - char buffer[80]; + char buffer[CYASSL_MAX_ERROR_SZ]; printf("error = %d, %s\n", err, CyaSSL_ERR_error_string(err, buffer)); } else { @@ -1108,7 +1108,7 @@ THREAD_RETURN CYASSL_THREAD run_cyassl_server(void* args) /* AssertIntEQ(SSL_SUCCESS, CyaSSL_accept(ssl)); */ if (CyaSSL_accept(ssl) != SSL_SUCCESS) { int err = CyaSSL_get_error(ssl, 0); - char buffer[80]; + char buffer[CYASSL_MAX_ERROR_SZ]; printf("error = %d, %s\n", err, CyaSSL_ERR_error_string(err, buffer)); } else {