grub2/grub-core
Paulo Flabiano Smorigo 89bdab9658 zfs: Fix resource leaks while constructing path
There are several exit points in dnode_get_path() that are causing possible
memory leaks.

In the while(1) the correct exit mechanism should not be to do a direct return,
but to instead break out of the loop, setting err first if it is not already set.

The reason behind this is that the dnode_path is a linked list, and while doing
through this loop, it is being allocated and built up - the only way to
correctly unravel it is to traverse it, which is what is being done at the end
of the function outside of the loop.

Several of the existing exit points correctly did a break, but not all so this
change makes that more consistent and should resolve the leaking of memory as
found by Coverity.

Fixes: CID 73741

Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@canonical.com>
Signed-off-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2021-03-02 15:54:16 +01:00
..
boot A workaround for clang problem assembling startup_raw.S 2019-04-08 15:22:10 +10:00
bus usb: Avoid possible out-of-bound accesses caused by malicious devices 2021-03-02 15:54:15 +01:00
commands dl: Only allow unloading modules that are not dependencies 2021-03-02 15:54:15 +01:00
disk disk/cryptodisk: Fix potential integer overflow 2021-03-02 15:54:16 +01:00
efiemu calloc: Use calloc() at most places 2020-07-29 16:55:47 +02:00
font font: Do not load more than one NAME section 2020-07-29 16:55:48 +02:00
fs zfs: Fix resource leaks while constructing path 2021-03-02 15:54:16 +01:00
gdb gdb: Restrict GDB access when locked down 2021-03-02 15:54:15 +01:00
gettext verifiers: File type for fine-grained signature-verification controlling 2018-11-09 13:25:31 +01:00
gfxmenu gfxmenu: Fix double free in load_image() 2020-07-29 16:55:48 +02:00
hello * grub-core/commands/gptsync.c: Fix typographic quoting. 2012-03-03 13:05:08 +01:00
hook * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic 2011-11-11 21:03:49 +01:00
io io/lzopio: Resolve unnecessary self-assignment errors 2021-03-02 15:54:16 +01:00
kern kern/partition: Check for NULL before dereferencing input string 2021-03-02 15:54:16 +01:00
lib zstd: Initialize seq_t structure fully 2021-03-02 15:54:16 +01:00
loader loader/xnu: Don't allow loading extension and packages when locked down 2021-03-02 15:54:15 +01:00
mmap mmap: Fix memory leak when iterating over mapped memory 2021-03-02 15:54:15 +01:00
net net/tftp: Fix dangling memory pointer 2021-03-02 15:54:16 +01:00
normal disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
osdep disk: Rename grub_disk_get_size() to grub_disk_native_sectors() 2020-12-12 01:19:03 +01:00
partmap mbr: Warn if MBR gap is small and user uses advanced modules 2020-12-12 01:19:03 +01:00
parttool * grub-core/net/http.c: Add TRANSLATORS comments. 2012-03-05 16:42:26 +01:00
script script: Do not allow a delimiter between function name and block start 2020-09-18 22:31:30 +02:00
term arm/term: Fix linking error due multiple ps2_state definitions 2020-12-11 13:53:54 +01:00
tests calloc: Use calloc() at most places 2020-07-29 16:55:47 +02:00
video efi: Return grub_efi_status_t from grub_efi_get_variable() 2020-12-11 13:54:54 +01:00
gdb_grub.in * grub-core/gdb_grub.in: Fix overflow and wrong field. 2013-10-14 03:40:20 +02:00
genemuinit.sh use MODULE_FILES for genemuinit* instead of MOD_FILES 2014-01-18 23:15:40 +04:00
genemuinitheader.sh use MODULE_FILES for genemuinit* instead of MOD_FILES 2014-01-18 23:15:40 +04:00
genmod.sh.in .mod files: Strip annobin annotations and .eh_frame, and their relocations 2018-03-05 14:08:22 +01:00
genmoddep.awk enforcing fixup 2017-08-14 16:27:10 +02:00
gensyminfo.sh.in Fix shebang for termux. 2017-05-03 12:49:31 +02:00
gensymlist.sh Make 'make check' work on emu. 2013-04-27 02:00:16 +02:00
gentrigtables.c * grub-core/gentrigtables.c: Make tables const. 2013-03-01 11:15:09 +01:00
gmodule.pl.in * grub-core/gmodule.pl.in: Accept newer binutils which output 2014-09-21 18:23:23 +02:00
Makefile.am kern: Add lockdown support 2021-03-02 15:54:15 +01:00
Makefile.core.def kern: Add lockdown support 2021-03-02 15:54:15 +01:00
modinfo.sh.in Fix shebang for termux. 2017-05-03 12:49:31 +02:00