forked from wolfSSL/wolfssl
S/MIME: Code review fixes
This commit is contained in:
20
src/ssl.c
20
src/ssl.c
@ -54389,8 +54389,7 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
section = (char*)XMALLOC((remainLen+1)*sizeof(char), NULL,
|
section = (char*)XMALLOC(remainLen+1, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
DYNAMIC_TYPE_PKCS7);
|
|
||||||
if (section == NULL) {
|
if (section == NULL) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -54437,12 +54436,11 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in,
|
|||||||
}
|
}
|
||||||
|
|
||||||
boundLen = XSTRLEN(curParam->value) + 2;
|
boundLen = XSTRLEN(curParam->value) + 2;
|
||||||
boundary = (char*)XMALLOC((boundLen+1)*sizeof(char), NULL,
|
boundary = (char*)XMALLOC(boundLen+1, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
DYNAMIC_TYPE_PKCS7);
|
|
||||||
if (boundary == NULL) {
|
if (boundary == NULL) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
XMEMSET(boundary, 0, (word32)((boundLen+1)*sizeof(char)));
|
XMEMSET(boundary, 0, (word32)(boundLen+1));
|
||||||
boundary[0] = boundary[1] = '-';
|
boundary[0] = boundary[1] = '-';
|
||||||
XSTRNCPY(&boundary[2], curParam->value, boundLen-2);
|
XSTRNCPY(&boundary[2], curParam->value, boundLen-2);
|
||||||
|
|
||||||
@ -54464,8 +54462,8 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in,
|
|||||||
|
|
||||||
section[0] = '\0';
|
section[0] = '\0';
|
||||||
sectionLen = 0;
|
sectionLen = 0;
|
||||||
canonSection = XMALLOC((remainLen+1)*sizeof(char), NULL,
|
canonSection = (char*)XMALLOC(remainLen+1, NULL,
|
||||||
DYNAMIC_TYPE_PKCS7);
|
DYNAMIC_TYPE_PKCS7);
|
||||||
if (canonSection == NULL) {
|
if (canonSection == NULL) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -54475,13 +54473,13 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in,
|
|||||||
remainLen > 0) {
|
remainLen > 0) {
|
||||||
canonLine = wc_MIME_canonicalize(§ion[sectionLen]);
|
canonLine = wc_MIME_canonicalize(§ion[sectionLen]);
|
||||||
if (canonLine == NULL) {
|
if (canonLine == NULL) {
|
||||||
XFREE(canonSection, NULL, DYNAMIC_TYPE_PKCS7);
|
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
XMEMCPY(&canonSection[canonPos], canonLine,
|
XMEMCPY(&canonSection[canonPos], canonLine,
|
||||||
(int)XSTRLEN(canonLine));
|
(int)XSTRLEN(canonLine));
|
||||||
canonPos += XSTRLEN(canonLine);
|
canonPos += XSTRLEN(canonLine);
|
||||||
XFREE(canonLine, NULL, DYNAMIC_TYPE_PKCS7);
|
XFREE(canonLine, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
|
canonLine = NULL;
|
||||||
|
|
||||||
sectionLen += lineLen;
|
sectionLen += lineLen;
|
||||||
remainLen -= lineLen;
|
remainLen -= lineLen;
|
||||||
@ -54489,7 +54487,6 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in,
|
|||||||
lineLen = wolfSSL_BIO_gets(in, §ion[sectionLen],
|
lineLen = wolfSSL_BIO_gets(in, §ion[sectionLen],
|
||||||
remainLen);
|
remainLen);
|
||||||
if (lineLen <= 0) {
|
if (lineLen <= 0) {
|
||||||
XFREE(canonSection, NULL, DYNAMIC_TYPE_PKCS7);
|
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -54511,13 +54508,13 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in,
|
|||||||
ret = wolfSSL_BIO_write(*bcont, canonSection,
|
ret = wolfSSL_BIO_write(*bcont, canonSection,
|
||||||
(int)XSTRLEN(canonSection));
|
(int)XSTRLEN(canonSection));
|
||||||
if (ret != (int)XSTRLEN(canonSection)) {
|
if (ret != (int)XSTRLEN(canonSection)) {
|
||||||
XFREE(canonSection, NULL, DYNAMIC_TYPE_PKCS7);
|
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if ((bcontMemSz = wolfSSL_BIO_get_mem_data(*bcont, &bcontMem)) < 0) {
|
if ((bcontMemSz = wolfSSL_BIO_get_mem_data(*bcont, &bcontMem)) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
XFREE(canonSection, NULL, DYNAMIC_TYPE_PKCS7);
|
XFREE(canonSection, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
|
canonSection = NULL;
|
||||||
|
|
||||||
|
|
||||||
wc_MIME_free_hdrs(allHdrs);
|
wc_MIME_free_hdrs(allHdrs);
|
||||||
@ -54574,6 +54571,7 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in,
|
|||||||
}
|
}
|
||||||
|
|
||||||
XFREE(boundary, NULL, DYNAMIC_TYPE_PKCS7);
|
XFREE(boundary, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
|
boundary = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (curHdr && (!XSTRNCMP(curHdr->body, kAppPkcs7Mime,
|
else if (curHdr && (!XSTRNCMP(curHdr->body, kAppPkcs7Mime,
|
||||||
@ -54642,6 +54640,8 @@ error:
|
|||||||
XFREE(boundary, NULL, DYNAMIC_TYPE_PKCS7);
|
XFREE(boundary, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
XFREE(outHead, NULL, DYNAMIC_TYPE_PKCS7);
|
XFREE(outHead, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
XFREE(section, NULL, DYNAMIC_TYPE_PKCS7);
|
XFREE(section, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
|
if (canonSection != NULL)
|
||||||
|
XFREE(canonSection, NULL, DYNAMIC_TYPE_PKCS7);
|
||||||
wolfSSL_BIO_free(*bcont);
|
wolfSSL_BIO_free(*bcont);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Reference in New Issue
Block a user