From 6d760a0197ece131619ac88f0fe34ce452fd774c Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 27 Nov 2018 08:26:04 +0000 Subject: [libbacktrace] Don't point to released memory in backtrace_vector_release When backtrace_vector_release is called with vec.size == 0, it releases the memory pointed at by vec.base. Set vec.base set to NULL if vec.size == 0 to ensure we don't point to released memory. Bootstrapped and reg-tested on x86_64. 2018-11-27 Tom de Vries * mmap.c (backtrace_vector_release): Same. * unittest.c (test1): Add check. From-SVN: r266505 --- libbacktrace/mmap.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libbacktrace/mmap.c') diff --git a/libbacktrace/mmap.c b/libbacktrace/mmap.c index 32fcba6..9f896a1 100644 --- a/libbacktrace/mmap.c +++ b/libbacktrace/mmap.c @@ -321,5 +321,7 @@ backtrace_vector_release (struct backtrace_state *state, backtrace_free (state, (char *) vec->base + aligned, alc, error_callback, data); vec->alc = 0; + if (vec->size == 0) + vec->base = NULL; return 1; } -- cgit v1.1