From 2bc5ea50ca5f670c1101d7986a70adfc5cae8b48 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 2 Nov 2012 17:02:36 +0000 Subject: [PATCH] extlinux: Avoid dereferencing a garbage pointer If opt.reset_adv is set the call to ext_read_adv() is skipped which would have initialised 'filename'. This means that a pointer containing random data from the stack is passed to ext_write_adv(). Just delete the opt.reset_adv logic since modify_adv() handles that case anyway. Reported-by: Frediano Ziglio Signed-off-by: Matt Fleming --- extlinux/main.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/extlinux/main.c b/extlinux/main.c index 611b808..9dc8891 100644 --- a/extlinux/main.c +++ b/extlinux/main.c @@ -1288,9 +1288,7 @@ int modify_existing_adv(const char *path) if (devfd < 0) return 1; - if (opt.reset_adv) - syslinux_reset_adv(syslinux_adv); - else if (ext_read_adv(path, devfd, &filename) < 0) { + if (ext_read_adv(path, devfd, &filename) < 0) { close(devfd); return 1; } -- 2.7.4