]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
ast_bt_get_symbols: Prevent double-free.
authorCorey Farrell <git@cfware.com>
Fri, 13 Oct 2017 13:51:09 +0000 (09:51 -0400)
committerCorey Farrell <git@cfware.com>
Fri, 13 Oct 2017 15:32:48 +0000 (10:32 -0500)
It's possible for bfdobj to be created but syms not created.  If syms
was not allocated in the current loop iteration but was allocated in the
previous iteration it would crash.

ASTERISK-27340

Change-Id: I5b110c609f6dfe91339f782a99a431bca5837363

main/backtrace.c

index 0b29385fdc49fc57541c147f03a42a39b9694145..aed4ffd94a7070680c4212fef2884eaedf99c3e0 100644 (file)
@@ -172,6 +172,7 @@ char **__ast_bt_get_symbols(void **addresses, size_t num_frames)
                if (bfdobj) {
                        bfd_close(bfdobj);
                        ast_std_free(syms);
+                       syms = NULL;
                }
 
                /* Default output, if we cannot find the information within BFD */