From c3eab0dcddc676242b6ddc6ef3ecd81c86f15d7b Mon Sep 17 00:00:00 2001 From: Sean Parkinson Date: Fri, 11 Mar 2022 14:27:50 +1000 Subject: [PATCH] Fixes from sanitizer build Fix OID index in SetNameRdnItems for multi attributes. Stop warning about strncpy to small. Fix casting in ASN1_SIMPLE to use consistent type. --- src/ssl.c | 2 +- wolfcrypt/src/asn.c | 2 +- wolfssl/openssl/asn1.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index 00604c48e..511b73c6f 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -28418,7 +28418,7 @@ int wolfSSL_X509_VERIFY_PARAM_set1_ip_asc(WOLFSSL_X509_VERIFY_PARAM *param, param->ipasc[0] = '\0'; } else { - XSTRNCPY(param->ipasc, ipasc, WOLFSSL_MAX_IPSTR - 1); + XSTRNCPY(param->ipasc, ipasc, WOLFSSL_MAX_IPSTR); param->ipasc[WOLFSSL_MAX_IPSTR-1] = '\0'; } ret = WOLFSSL_SUCCESS; diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 0a353f489..86f723b05 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -22994,7 +22994,7 @@ static int SetNameRdnItems(ASNSetData* dataASN, ASNItem* namesASN, break; } /* Copy data into dynamic vars. */ - SetRdnItems(namesASN + idx, dataASN + idx, nameOid[type], + SetRdnItems(namesASN + idx, dataASN + idx, nameOid[i], NAME_OID_SZ, name->name[j].type, (byte*)name->name[j].value, name->name[j].sz); } diff --git a/wolfssl/openssl/asn1.h b/wolfssl/openssl/asn1.h index ab894f184..07da63319 100644 --- a/wolfssl/openssl/asn1.h +++ b/wolfssl/openssl/asn1.h @@ -146,7 +146,8 @@ typedef enum { static const WOLFSSL_ASN1_TEMPLATE type##_member_data[] #define ASN1_SIMPLE(type, member, member_type) \ - { (char*)&__##type##_dummy_struct.member - (char*)&__##type##_dummy_struct, \ + { ((size_t)&__##type##_dummy_struct.member - \ + (size_t)&__##type##_dummy_struct), \ WOLFSSL_##member_type##_ASN1 } #define ASN1_SEQUENCE_END(type) \