Merge pull request #3423 from ejohnstown/nightly-test-fix

Nightly Scan-Build Test Fixes
This commit is contained in:
David Garske
2020-10-27 08:31:19 -07:00
committed by GitHub
7 changed files with 24 additions and 38 deletions

View File

@@ -3337,7 +3337,7 @@ void InitX509Name(WOLFSSL_X509_NAME* name, int dynamicFlag, void* heap)
name->sz = 0; name->sz = 0;
name->heap = heap; name->heap = heap;
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) #if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL)
XMEMSET(&name->entry, 0, sizeof(name->entry)); XMEMSET(name->entry, 0, sizeof(name->entry));
name->x509 = NULL; name->x509 = NULL;
name->entrySz = 0; name->entrySz = 0;
#endif /* OPENSSL_EXTRA */ #endif /* OPENSSL_EXTRA */
@@ -3357,7 +3357,7 @@ void FreeX509Name(WOLFSSL_X509_NAME* name)
int i; int i;
for (i = 0; i < MAX_NAME_ENTRIES; i++) { for (i = 0; i < MAX_NAME_ENTRIES; i++) {
if (name->entry[i].set) { if (name->entry[i].set) {
wolfSSL_ASN1_OBJECT_free(&name->entry[i].object); wolfSSL_ASN1_OBJECT_free(name->entry[i].object);
wolfSSL_ASN1_STRING_free(name->entry[i].value); wolfSSL_ASN1_STRING_free(name->entry[i].value);
} }
} }

View File

@@ -9359,8 +9359,6 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->CRLInfo; obj->obj = x509->CRLInfo;
obj->objSz = x509->CRLInfoSz; obj->objSz = x509->CRLInfoSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA ;
} }
else { else {
WOLFSSL_MSG("No CRL dist set"); WOLFSSL_MSG("No CRL dist set");
@@ -9381,8 +9379,6 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->authInfo; obj->obj = x509->authInfo;
obj->objSz = x509->authInfoSz; obj->objSz = x509->authInfoSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Auth Info set"); WOLFSSL_MSG("No Auth Info set");
@@ -9409,8 +9405,6 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->authKeyId; obj->obj = x509->authKeyId;
obj->objSz = x509->authKeyIdSz; obj->objSz = x509->authKeyIdSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
akey->issuer = obj; akey->issuer = obj;
return akey; return akey;
} }
@@ -9433,8 +9427,6 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->subjKeyId; obj->obj = x509->subjKeyId;
obj->objSz = x509->subjKeyIdSz; obj->objSz = x509->subjKeyIdSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Subject Key set"); WOLFSSL_MSG("No Subject Key set");
@@ -9472,8 +9464,6 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = (byte*)(x509->certPolicies[i]); obj->obj = (byte*)(x509->certPolicies[i]);
obj->objSz = MAX_CERTPOL_SZ; obj->objSz = MAX_CERTPOL_SZ;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
if (wolfSSL_sk_ASN1_OBJECT_push(sk, obj) if (wolfSSL_sk_ASN1_OBJECT_push(sk, obj)
!= WOLFSSL_SUCCESS) { != WOLFSSL_SUCCESS) {
WOLFSSL_MSG("Error pushing ASN1 object onto stack"); WOLFSSL_MSG("Error pushing ASN1 object onto stack");
@@ -9492,8 +9482,6 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = (byte*)(x509->certPolicies[i]); obj->obj = (byte*)(x509->certPolicies[i]);
obj->objSz = MAX_CERTPOL_SZ; obj->objSz = MAX_CERTPOL_SZ;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Cert Policy set"); WOLFSSL_MSG("No Cert Policy set");
@@ -9510,7 +9498,6 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
} }
obj->type = CERT_POLICY_OID; obj->type = CERT_POLICY_OID;
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
} }
else { else {
WOLFSSL_MSG("No Cert Policy set"); WOLFSSL_MSG("No Cert Policy set");
@@ -9572,8 +9559,6 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
obj->grp = oidCertExtType; obj->grp = oidCertExtType;
obj->obj = x509->extKeyUsageSrc; obj->obj = x509->extKeyUsageSrc;
obj->objSz = x509->extKeyUsageSz; obj->objSz = x509->extKeyUsageSz;
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC_DATA;
} }
else { else {
WOLFSSL_MSG("No Extended Key Usage set"); WOLFSSL_MSG("No Extended Key Usage set");
@@ -38692,7 +38677,7 @@ err:
{ {
WOLFSSL_ENTER("wolfSSL_X509_NAME_ENTRY_free"); WOLFSSL_ENTER("wolfSSL_X509_NAME_ENTRY_free");
if (ne != NULL) { if (ne != NULL) {
wolfSSL_ASN1_OBJECT_free(&ne->object); wolfSSL_ASN1_OBJECT_free(ne->object);
if (ne->value != NULL) { if (ne->value != NULL) {
wolfSSL_ASN1_STRING_free(ne->value); wolfSSL_ASN1_STRING_free(ne->value);
} }
@@ -38747,7 +38732,7 @@ err:
} }
} }
ne->nid = nid; ne->nid = nid;
wolfSSL_OBJ_nid2obj_ex(nid, &ne->object); ne->object = wolfSSL_OBJ_nid2obj_ex(nid, ne->object);
ne->value = wolfSSL_ASN1_STRING_type_new(type); ne->value = wolfSSL_ASN1_STRING_type_new(type);
if (ne->value != NULL) { if (ne->value != NULL) {
wolfSSL_ASN1_STRING_set(ne->value, (const void*)data, dataSz); wolfSSL_ASN1_STRING_set(ne->value, (const void*)data, dataSz);
@@ -38787,7 +38772,7 @@ err:
} }
ne->nid = nid; ne->nid = nid;
wolfSSL_OBJ_nid2obj_ex(nid, &ne->object); ne->object = wolfSSL_OBJ_nid2obj_ex(nid, ne->object);
ne->value = wolfSSL_ASN1_STRING_type_new(type); ne->value = wolfSSL_ASN1_STRING_type_new(type);
if (ne->value != NULL) { if (ne->value != NULL) {
wolfSSL_ASN1_STRING_set(ne->value, (const void*)data, dataSz); wolfSSL_ASN1_STRING_set(ne->value, (const void*)data, dataSz);
@@ -39064,9 +39049,6 @@ err:
WOLFSSL_MSG("Issue creating WOLFSSL_ASN1_OBJECT struct"); WOLFSSL_MSG("Issue creating WOLFSSL_ASN1_OBJECT struct");
return NULL; return NULL;
} }
obj->dynamic |= WOLFSSL_ASN1_DYNAMIC;
} else {
obj->dynamic &= ~WOLFSSL_ASN1_DYNAMIC;
} }
obj->type = id; obj->type = id;
obj->grp = type; obj->grp = type;
@@ -39229,9 +39211,9 @@ err:
for (idx++; idx < MAX_NAME_ENTRIES; idx++) { for (idx++; idx < MAX_NAME_ENTRIES; idx++) {
/* Find index of desired name */ /* Find index of desired name */
if (name->entry[idx].set) { if (name->entry[idx].set) {
if (XSTRLEN(obj->sName) == XSTRLEN(name->entry[idx].object.sName) && if (XSTRLEN(obj->sName) == XSTRLEN(name->entry[idx].object->sName) &&
XSTRNCMP((const char*) obj->sName, XSTRNCMP((const char*) obj->sName,
name->entry[idx].object.sName, obj->objSz - 1) == 0) { name->entry[idx].object->sName, obj->objSz - 1) == 0) {
return idx; return idx;
} }
} }
@@ -39811,12 +39793,16 @@ err:
defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) || \ defined(HAVE_LIGHTY) || defined(WOLFSSL_MYSQL_COMPATIBLE) || \
defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \ defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \
defined(HAVE_POCO_LIB) || defined(WOLFSSL_HAPROXY) defined(HAVE_POCO_LIB) || defined(WOLFSSL_HAPROXY)
WOLFSSL_ASN1_OBJECT * wolfSSL_X509_NAME_ENTRY_get_object(WOLFSSL_X509_NAME_ENTRY *ne) { WOLFSSL_ASN1_OBJECT * wolfSSL_X509_NAME_ENTRY_get_object(WOLFSSL_X509_NAME_ENTRY *ne)
{
WOLFSSL_ASN1_OBJECT* obj = NULL;
WOLFSSL_ENTER("wolfSSL_X509_NAME_ENTRY_get_object"); WOLFSSL_ENTER("wolfSSL_X509_NAME_ENTRY_get_object");
if (ne == NULL) return NULL; if (ne == NULL) return NULL;
if (wolfSSL_OBJ_nid2obj_ex(ne->nid, &ne->object) != NULL) { obj = wolfSSL_OBJ_nid2obj_ex(ne->nid, ne->object);
ne->object.nid = ne->nid; if (obj != NULL) {
return &ne->object; obj->nid = ne->nid;
return obj;
} }
return NULL; return NULL;
} }

View File

@@ -29373,7 +29373,6 @@ static void test_wolfSSL_OBJ(void)
AssertTrue((nid = OBJ_obj2nid(asn1Name)) > 0); AssertTrue((nid = OBJ_obj2nid(asn1Name)) > 0);
} }
BIO_free(bio); BIO_free(bio);
ASN1_OBJECT_free(asn1Name);
X509_free(x509); X509_free(x509);
} }
@@ -29397,7 +29396,6 @@ static void test_wolfSSL_OBJ(void)
AssertTrue((nid = OBJ_obj2nid(asn1Name)) > 0); AssertTrue((nid = OBJ_obj2nid(asn1Name)) > 0);
} }
BIO_free(bio); BIO_free(bio);
ASN1_OBJECT_free(asn1Name);
X509_free(x509); X509_free(x509);
} }

View File

@@ -11751,10 +11751,10 @@ int wc_PKCS7_EncodeEncryptedData(PKCS7* pkcs7, byte* output, word32 outputSz)
if (totalSz > (int)outputSz) { if (totalSz > (int)outputSz) {
WOLFSSL_MSG("PKCS#7 output buffer too small"); WOLFSSL_MSG("PKCS#7 output buffer too small");
if (pkcs7->unprotectedAttribsSz != 0) { if (attribs != NULL)
XFREE(attribs, pkcs7->heap, DYNAMIC_TYPE_PKCS7); XFREE(attribs, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
if (flatAttribs != NULL)
XFREE(flatAttribs, pkcs7->heap, DYNAMIC_TYPE_PKCS7); XFREE(flatAttribs, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
}
XFREE(encryptedContent, pkcs7->heap, DYNAMIC_TYPE_PKCS7); XFREE(encryptedContent, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
XFREE(plain, pkcs7->heap, DYNAMIC_TYPE_PKCS7); XFREE(plain, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
return BUFFER_E; return BUFFER_E;
@@ -11790,10 +11790,12 @@ int wc_PKCS7_EncodeEncryptedData(PKCS7* pkcs7, byte* output, word32 outputSz)
idx += attribsSetSz; idx += attribsSetSz;
XMEMCPY(output + idx, flatAttribs, attribsSz); XMEMCPY(output + idx, flatAttribs, attribsSz);
idx += attribsSz; idx += attribsSz;
XFREE(attribs, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
XFREE(flatAttribs, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
} }
if (attribs != NULL)
XFREE(attribs, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
if (flatAttribs != NULL)
XFREE(flatAttribs, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
XFREE(encryptedContent, pkcs7->heap, DYNAMIC_TYPE_PKCS7); XFREE(encryptedContent, pkcs7->heap, DYNAMIC_TYPE_PKCS7);
XFREE(plain, pkcs7->heap, DYNAMIC_TYPE_PKCS7); XFREE(plain, pkcs7->heap, DYNAMIC_TYPE_PKCS7);

View File

@@ -3472,7 +3472,7 @@ int wc_RsaPSS_VerifyCheckInline(byte* in, word32 inLen, byte** out,
hLen = wc_HashGetDigestSize(hash); hLen = wc_HashGetDigestSize(hash);
if (hLen < 0) if (hLen < 0)
return hLen; return BAD_FUNC_ARG;
if ((word32)hLen != digestLen) if ((word32)hLen != digestLen)
return BAD_FUNC_ARG; return BAD_FUNC_ARG;

View File

@@ -374,7 +374,7 @@ int wc_CryptKey(const char* password, int passwordSz, byte* salt,
int saltSz, int iterations, int id, byte* input, int saltSz, int iterations, int id, byte* input,
int length, int version, byte* cbcIv, int enc, int shaOid) int length, int version, byte* cbcIv, int enc, int shaOid)
{ {
int typeH; int typeH = WC_HASH_TYPE_NONE;
int derivedLen = 0; int derivedLen = 0;
int ret = 0; int ret = 0;
#ifdef WOLFSSL_SMALL_STACK #ifdef WOLFSSL_SMALL_STACK

View File

@@ -3239,7 +3239,7 @@ WOLFSSL_API int wolfSSL_accept_ex(WOLFSSL*, HandShakeCallBack, TimeoutCallBack,
#include <wolfssl/openssl/asn1.h> #include <wolfssl/openssl/asn1.h>
struct WOLFSSL_X509_NAME_ENTRY { struct WOLFSSL_X509_NAME_ENTRY {
WOLFSSL_ASN1_OBJECT object; /* static object just for keeping grp, type */ WOLFSSL_ASN1_OBJECT* object; /* static object just for keeping grp, type */
WOLFSSL_ASN1_STRING* value; /* points to data, for lighttpd port */ WOLFSSL_ASN1_STRING* value; /* points to data, for lighttpd port */
int nid; /* i.e. ASN_COMMON_NAME */ int nid; /* i.e. ASN_COMMON_NAME */
int set; int set;