]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
efi_loader: Prevent leak of memory from tmp_files
authorAndrew Goodbody <andrew.goodbody@linaro.org>
Fri, 3 Oct 2025 14:54:34 +0000 (15:54 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 18 Oct 2025 09:41:31 +0000 (11:41 +0200)
After the malloc of tmp_files and before its value is recorded an early
exit will need to free tmp_files to prevent leaking that memory.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_capsule.c

index f19e78ae9d1e250f7bf8362f043877c6d10a9675..31b47a20186e036f6852c6baa4f353a5d7b97632 100644 (file)
@@ -1096,8 +1096,10 @@ static efi_status_t efi_capsule_scan_dir(u16 ***files, unsigned int *num)
        while (1) {
                tmp_size = dirent_size;
                ret = EFI_CALL((*dirh->read)(dirh, &tmp_size, dirent));
-               if (ret != EFI_SUCCESS)
+               if (ret != EFI_SUCCESS) {
+                       free(tmp_files);
                        goto err;
+               }
                if (!tmp_size)
                        break;