From: Darren Kenny Date: Thu, 26 Nov 2020 15:31:53 +0000 (+0000) Subject: syslinux: Fix memory leak while parsing X-Git-Tag: grub-2.06-rc1~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95bc016dba94cab3d398dd74160665915cd08ad6;p=thirdparty%2Fgrub.git syslinux: Fix memory leak while parsing In syslinux_parse_real() the 2 points where return is being called didn't release the memory stored in buf which is no longer required. Fixes: CID 176634 Signed-off-by: Darren Kenny Reviewed-by: Daniel Kiper --- diff --git a/grub-core/lib/syslinux_parse.c b/grub-core/lib/syslinux_parse.c index de9fda06f..ff244d2e0 100644 --- a/grub-core/lib/syslinux_parse.c +++ b/grub-core/lib/syslinux_parse.c @@ -737,7 +737,10 @@ syslinux_parse_real (struct syslinux_menu *menu) && grub_strncasecmp ("help", ptr3, ptr4 - ptr3) == 0)) { if (helptext (ptr5, file, menu)) - return 1; + { + grub_free (buf); + return 1; + } continue; } @@ -757,6 +760,7 @@ syslinux_parse_real (struct syslinux_menu *menu) } fail: grub_file_close (file); + grub_free (buf); return err; }