]> git.proxmox.com Git - mirror_qemu.git/commitdiff
linux-user/elfload: test return value of getrlimit
authorThomas Weißschuh <thomas@t-8ch.de>
Sat, 20 Jan 2024 21:45:24 +0000 (22:45 +0100)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 23 Jan 2024 03:23:47 +0000 (13:23 +1000)
Should getrlimit() fail the value of dumpsize.rlimit_cur may not be
initialized. Avoid reading garbage data by checking the return value of
getrlimit.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Message-Id: <20240120-qemu-user-dumpable-v3-1-6aa410c933f1@t-8ch.de>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/elfload.c

index cf9e74468b11c7dd35dc6e6c3c57ef9d6336d01d..c5968719380a5421eebfa9cdc9282d03addb6870 100644 (file)
@@ -4667,9 +4667,9 @@ static int elf_core_dump(int signr, const CPUArchState *env)
     init_note_info(&info);
 
     errno = 0;
-    getrlimit(RLIMIT_CORE, &dumpsize);
-    if (dumpsize.rlim_cur == 0)
+    if (getrlimit(RLIMIT_CORE, &dumpsize) == 0 && dumpsize.rlim_cur == 0) {
         return 0;
+    }
 
     corefile = core_dump_filename(ts);