F-12683: null-check the ASN.1 time formatting result in the date getters

pull/412/head
Chris Conlon 2026-09-01 14:18:30 -06:00
parent a73ce423e6
commit 5ebf28c74c
2 changed files with 22 additions and 10 deletions

View File

@ -563,6 +563,7 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1lastUpdate
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
WOLFSSL_ASN1_TIME* date = NULL;
char timeStr[CTC_DATE_SIZE];
char* dateStr = NULL;
(void)jcl;
if (jenv == NULL || crl == NULL) {
@ -571,8 +572,10 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1lastUpdate
date = wolfSSL_X509_CRL_get_lastUpdate(crl);
if (date != NULL) {
return (*jenv)->NewStringUTF(jenv,
wolfSSL_ASN1_TIME_to_string(date, timeStr, sizeof(timeStr)));
dateStr = wolfSSL_ASN1_TIME_to_string(date, timeStr, sizeof(timeStr));
if (dateStr != NULL) {
return (*jenv)->NewStringUTF(jenv, dateStr);
}
}
return NULL;
@ -591,6 +594,7 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1nextUpdate
WOLFSSL_X509_CRL* crl = (WOLFSSL_X509_CRL*)(uintptr_t)crlPtr;
WOLFSSL_ASN1_TIME* date = NULL;
char timeStr[CTC_DATE_SIZE];
char* dateStr = NULL;
(void)jcl;
if (jenv == NULL || crl == NULL) {
@ -599,8 +603,10 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCRL_X509_1CRL_1get_1nextUpdate
date = wolfSSL_X509_CRL_get_nextUpdate(crl);
if (date != NULL) {
return (*jenv)->NewStringUTF(jenv,
wolfSSL_ASN1_TIME_to_string(date, timeStr, sizeof(timeStr)));
dateStr = wolfSSL_ASN1_TIME_to_string(date, timeStr, sizeof(timeStr));
if (dateStr != NULL) {
return (*jenv)->NewStringUTF(jenv, dateStr);
}
}
return NULL;

View File

@ -1390,6 +1390,7 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCertificate_X509_1notBefore
#endif
WOLFSSL_X509* x509 = (WOLFSSL_X509*)(uintptr_t)x509Ptr;
char timeStr[CTC_DATE_SIZE];
char* dateStr = NULL;
(void)jcl;
if (jenv == NULL || x509 == NULL) {
@ -1403,9 +1404,11 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCertificate_X509_1notBefore
#endif
/* returns string holding date i.e. "Thu Jan 07 08:23:09 MST 2021" */
if (date != NULL) {
return (*jenv)->NewStringUTF(jenv,
wolfSSL_ASN1_TIME_to_string((WOLFSSL_ASN1_TIME*)date, timeStr,
sizeof(timeStr)));
dateStr = wolfSSL_ASN1_TIME_to_string((WOLFSSL_ASN1_TIME*)date,
timeStr, sizeof(timeStr));
if (dateStr != NULL) {
return (*jenv)->NewStringUTF(jenv, dateStr);
}
}
return NULL;
}
@ -1420,6 +1423,7 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCertificate_X509_1notAfter
#endif
WOLFSSL_X509* x509 = (WOLFSSL_X509*)(uintptr_t)x509Ptr;
char timeStr[CTC_DATE_SIZE];
char* dateStr = NULL;
(void)jcl;
if (jenv == NULL || x509 == NULL) {
@ -1433,9 +1437,11 @@ JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSLCertificate_X509_1notAfter
#endif
/* returns string holding date i.e. "Thu Jan 07 08:23:09 MST 2021" */
if (date != NULL) {
return (*jenv)->NewStringUTF(jenv,
wolfSSL_ASN1_TIME_to_string((WOLFSSL_ASN1_TIME*)date,
timeStr, sizeof(timeStr)));
dateStr = wolfSSL_ASN1_TIME_to_string((WOLFSSL_ASN1_TIME*)date,
timeStr, sizeof(timeStr));
if (dateStr != NULL) {
return (*jenv)->NewStringUTF(jenv, dateStr);
}
}
return NULL;
}