Merge pull request #7517 from bandi13/bugFixes

Bug fixes
This commit is contained in:
David Garske
2024-05-13 09:01:00 -07:00
committed by GitHub
2 changed files with 7 additions and 10 deletions

View File

@@ -15745,8 +15745,7 @@ int wolfSSL_PEM_read_bio(WOLFSSL_BIO* bio, char **name, char **header,
* @param [in] header Encryption header. * @param [in] header Encryption header.
* @param [in] data DER data. * @param [in] data DER data.
* @param [in] len Length of DER data. * @param [in] len Length of DER data.
* @return 0 on success. * @return 0 on failure.
* @return MEMORY_E when dynamic memory allocation fails.
*/ */
int wolfSSL_PEM_write_bio(WOLFSSL_BIO* bio, const char *name, int wolfSSL_PEM_write_bio(WOLFSSL_BIO* bio, const char *name,
const char *header, const unsigned char *data, long len) const char *header, const unsigned char *data, long len)
@@ -15757,23 +15756,21 @@ int wolfSSL_PEM_write_bio(WOLFSSL_BIO* bio, const char *name,
/* Validate parameters. */ /* Validate parameters. */
if ((bio == NULL) || (name == NULL) || (header == NULL) || (data == NULL)) { if ((bio == NULL) || (name == NULL) || (header == NULL) || (data == NULL)) {
err = 1; err = BAD_FUNC_ARG;
} }
/* Encode into a buffer. */ /* Encode into a buffer. */
if ((!err) && (pem_write_data(name, header, data, len, &pem, &pemLen) != if (!err) {
0)) { err = pem_write_data(name, header, data, len, &pem, &pemLen);
pemLen = 0;
err = 1;
} }
/* Write PEM into BIO. */ /* Write PEM into BIO. */
if ((!err) && (wolfSSL_BIO_write(bio, pem, pemLen) != (int)pemLen)) { if ((!err) && (wolfSSL_BIO_write(bio, pem, pemLen) != (int)pemLen)) {
pemLen = 0; err = IO_FAILED_E;
} }
XFREE(pem, NULL, DYNAMIC_TYPE_TMP_BUFFER); XFREE(pem, NULL, DYNAMIC_TYPE_TMP_BUFFER);
return pemLen; return (!err) ? pemLen : 0;
} }
#endif /* !NO_BIO */ #endif /* !NO_BIO */

View File

@@ -211,7 +211,7 @@ int wc_CmacUpdate(Cmac* cmac, const byte* in, word32 inSz)
/* Clear CRYPTOCB_UNAVAILABLE return code */ /* Clear CRYPTOCB_UNAVAILABLE return code */
ret = 0; ret = 0;
while (inSz != 0) { while ((ret == 0) && (inSz != 0)) {
word32 add = min(inSz, AES_BLOCK_SIZE - cmac->bufferSz); word32 add = min(inSz, AES_BLOCK_SIZE - cmac->bufferSz);
XMEMCPY(&cmac->buffer[cmac->bufferSz], in, add); XMEMCPY(&cmac->buffer[cmac->bufferSz], in, add);