From 3bf776baf44683df2873dd3cbf68a84cd252fca2 Mon Sep 17 00:00:00 2001 From: Go Hosohara Date: Tue, 3 Jul 2018 17:16:10 +0900 Subject: [PATCH] wolfSSL_ASN1_TIME_get_data() changed --- src/ssl.c | 14 ++++++-------- tests/api.c | 6 +++--- wolfssl/ssl.h | 2 +- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index 4b206792e..d343d9864 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -34088,18 +34088,16 @@ int wolfSSL_ASN1_TIME_get_length(WOLFSSL_ASN1_TIME *t) return (int)t->data[1]; } -int wolfSSL_ASN1_TIME_get_data(WOLFSSL_ASN1_TIME *t, unsigned char* data) +unsigned char* wolfSSL_ASN1_TIME_get_data(WOLFSSL_ASN1_TIME *t) { - char *dptr = NULL; + unsigned char *dptr = NULL; WOLFSSL_ENTER("wolfSSL_ASN1_TIME_get_data"); - if (t == NULL || data == NULL) - return WOLFSSL_FAILURE; + if (t == NULL) + return NULL; - dptr = (char*)t->data + 2; - XSTRNCPY((char*)data, dptr, t->data[1]); - - return WOLFSSL_SUCCESS; + dptr = t->data + 2; + return dptr; } WOLFSSL_ASN1_TIME *wolfSSL_ASN1_TIME_to_generalizedtime(WOLFSSL_ASN1_TIME *t, diff --git a/tests/api.c b/tests/api.c index 7dbbf2ddb..59fe6f49b 100644 --- a/tests/api.c +++ b/tests/api.c @@ -19753,7 +19753,7 @@ static void test_wolfSSL_ASN1_TIME_to_generalizedtime(void){ WOLFSSL_ASN1_TIME *out; WOLFSSL_ASN1_TIME *gtime; int tlen = 0; - unsigned char data[ASN_GENERALIZED_TIME_SIZE]; + unsigned char *data; printf(testingFmt, "wolfSSL_ASN1_TIME_to_generalizedtime()"); @@ -19769,7 +19769,7 @@ static void test_wolfSSL_ASN1_TIME_to_generalizedtime(void){ tlen = wolfSSL_ASN1_TIME_get_length(t); AssertIntEQ(tlen, ASN_UTC_TIME_SIZE); - wolfSSL_ASN1_TIME_get_data(t,data); + data = wolfSSL_ASN1_TIME_get_data(t); AssertStrEQ((char*)data, "050727123456Z"); gtime = wolfSSL_ASN1_TIME_to_generalizedtime(t, &out); AssertIntEQ(gtime->data[0], ASN_GENERALIZED_TIME); @@ -19787,7 +19787,7 @@ static void test_wolfSSL_ASN1_TIME_to_generalizedtime(void){ tlen = wolfSSL_ASN1_TIME_get_length(t); AssertIntEQ(tlen, ASN_GENERALIZED_TIME_SIZE); - wolfSSL_ASN1_TIME_get_data(t,data); + data = wolfSSL_ASN1_TIME_get_data(t); AssertStrEQ((char*)data, "20050727123456Z"); gtime = wolfSSL_ASN1_TIME_to_generalizedtime(t, &out); AssertIntEQ(gtime->data[0], ASN_GENERALIZED_TIME); diff --git a/wolfssl/ssl.h b/wolfssl/ssl.h index fa246870f..219d0d7c8 100644 --- a/wolfssl/ssl.h +++ b/wolfssl/ssl.h @@ -2997,7 +2997,7 @@ WOLFSSL_API void wolfSSL_EC_POINT_dump(const char *msg, const WOLFSSL_EC_POINT * WOLFSSL_API const char *wolfSSL_ASN1_tag2str(int tag); WOLFSSL_API int wolfSSL_ASN1_STRING_print_ex(WOLFSSL_BIO *out, WOLFSSL_ASN1_STRING *str, unsigned long flags); WOLFSSL_API int wolfSSL_ASN1_TIME_get_length(WOLFSSL_ASN1_TIME *t); -WOLFSSL_API int wolfSSL_ASN1_TIME_get_data(WOLFSSL_ASN1_TIME *t, unsigned char *data); +WOLFSSL_API unsigned char* wolfSSL_ASN1_TIME_get_data(WOLFSSL_ASN1_TIME *t); WOLFSSL_API WOLFSSL_ASN1_TIME *wolfSSL_ASN1_TIME_to_generalizedtime(WOLFSSL_ASN1_TIME *t, WOLFSSL_ASN1_TIME **out); WOLFSSL_API int wolfSSL_i2c_ASN1_INTEGER(WOLFSSL_ASN1_INTEGER *a, unsigned char **pp);