From 0cc1dc29c4a5814d4665e7c1026a8a7ba8bbd3cb Mon Sep 17 00:00:00 2001 From: Daniel Pouzzner Date: Thu, 5 Feb 2026 10:04:17 -0600 Subject: [PATCH] src/x509.c: in x509_aia_append_string(), use heap pointer from supplied *head, and initialize WOLFSSL_STACK.type (fixes "Conditional jump or move depends on uninitialised value(s)" from 08c1397cc1); wolfssl/wolfcrypt/asn.h: use WC_BITFIELD for extAuthInfoListSz and extAuthInfoListOverflow bitfields, for C89 compat (fixes -Wpedantic from 08c1397cc1). --- src/x509.c | 7 +++++-- wolfssl/wolfcrypt/asn.h | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/x509.c b/src/x509.c index 5fb4470307..e8cf519645 100644 --- a/src/x509.c +++ b/src/x509.c @@ -15002,8 +15002,9 @@ static WOLFSSL_STACK* x509_aia_append_string(WOLFSSL_STACK** head, WOLFSSL_STACK* node; char* url; - node = (WOLFSSL_STACK*)XMALLOC(sizeof(WOLFSSL_STACK) + uriSz + 1, NULL, - DYNAMIC_TYPE_OPENSSL); + node = (WOLFSSL_STACK*)XMALLOC(sizeof(WOLFSSL_STACK) + uriSz + 1, + *head ? (*head)->heap : NULL, + DYNAMIC_TYPE_OPENSSL); if (node == NULL) return NULL; @@ -15012,9 +15013,11 @@ static WOLFSSL_STACK* x509_aia_append_string(WOLFSSL_STACK** head, XMEMCPY(url, uri, uriSz); url[uriSz] = '\0'; + node->heap = *head ? (*head)->heap : NULL; node->data.string = url; node->next = NULL; node->num = 1; + node->type = STACK_TYPE_STRING; if (*head == NULL) { *head = node; diff --git a/wolfssl/wolfcrypt/asn.h b/wolfssl/wolfcrypt/asn.h index 3953e323ee..35247a8a6e 100644 --- a/wolfssl/wolfcrypt/asn.h +++ b/wolfssl/wolfcrypt/asn.h @@ -2075,8 +2075,8 @@ struct DecodedCert { #endif /* WOLFSSL_DUAL_ALG_CERTS */ WOLFSSL_AIA_ENTRY extAuthInfoList[WOLFSSL_MAX_AIA_ENTRIES]; - byte extAuthInfoListSz:7; - byte extAuthInfoListOverflow:1; + WC_BITFIELD extAuthInfoListSz:7; + WC_BITFIELD extAuthInfoListOverflow:1; }; #if defined(WOLFSSL_SM2) && defined(WOLFSSL_SM3)