F-1295 F-1697 F-3684 F-6287: fix duplicate wolfSSL_write call, wc_FreeDhKey double-free/key2 leak, fileSize dead-code checks, and unsigned keySz < 0 check

pull/318/merge
Emma Stensland 2026-07-01 09:49:09 -06:00 committed by Paul Adelsbach
parent 73d813efe4
commit 99cdfa1e3a
6 changed files with 8 additions and 9 deletions

View File

@ -152,9 +152,8 @@ static int loadKey(byte** keyDer, word32* keySz, RsaKey* key, const char* f)
printf("return from loading in private key = %d\n", ret);
}
if (*keySz < 0) {
if (ret < 0) {
printf("unable to decode private key\n");
ret = *keySz;
}
return ret;

View File

@ -141,7 +141,7 @@ int main(int argc, char** argv)
/* First call to get required buffer size */
ret = wolfSSL_dtls_export(ssl, NULL, &sessionSz);
if (ret < 0 || sessionSz == 0) {
if (ret != 0 && sessionSz == 0) {
fprintf(stderr, "Error: wolfSSL_dtls_export (get size) failed: %d\n",
ret);
ret = 1;

View File

@ -210,7 +210,7 @@ int main(int argc, char** argv)
/* First call to get required buffer size */
ret = wolfSSL_dtls_export(ssl, NULL, &sessionSz);
if (ret < 0 || sessionSz == 0) {
if (ret != 0 && sessionSz == 0) {
fprintf(stderr, "Error: wolfSSL_dtls_export (get size) failed: %d\n",
ret);
ret = 1;

View File

@ -433,7 +433,7 @@ int main(int argc, char *argv[])
/* Free allocated items */
wc_FreeDhKey(&key1);
wc_FreeDhKey(&key1);
wc_FreeDhKey(&key2);
wc_FreeRng(&rng);
return 0;

View File

@ -237,7 +237,6 @@ int main(void)
/* Write the message that will ask the server for information on the
* connection */
wolfSSL_write(ssl, message, strlen(message));
if ((ret = wolfSSL_write(ssl, message, strlen(message))) !=
strlen(message)) {
fprintf(stderr, "ERROR: failed to write entire message\n");

View File

@ -730,7 +730,7 @@ long ftell(FILE* stream)
fPtr = (EFI_FILE_HANDLE*)stream;
fSize = fileSize(*(fPtr));
if (fileSize == 0) {
if (fSize == 0) {
uefi_printf_wolfssl("File is of size 0\n");
return 0;
}
@ -756,7 +756,7 @@ size_t fread(void* ptr, size_t size, size_t count, FILE* stream)
fPtr = (EFI_FILE_HANDLE*)stream;
fSize = fileSize(*(fPtr));
if (fileSize == 0) {
if (fSize == 0) {
uefi_printf_wolfssl("File is of size 0\n");
return 0;
}
@ -1103,8 +1103,9 @@ struct dirent* readdir(DIR* stream)
}
fSize = fileSize(*(fPtr));
if (fileSize == 0) {
if (fSize == 0) {
uefi_printf_wolfssl("File is of size 0\n");
XFREE(dirPtr, NULL, DYNAMIC_TYPE_TMP_BUFFER);
return 0;
}