ruby-changes:66619
From: xtkoba <ko1@a...>
Date: Tue, 29 Jun 2021 06:06:46 +0900 (JST)
Subject: [ruby-changes:66619] d795f494a8 (master): Avoid `free(3)`ing invalid pointer
https://git.ruby-lang.org/ruby.git/commit/?id=d795f494a8 From d795f494a89e0d9498dfedc54b8a98acc2bc4d7b Mon Sep 17 00:00:00 2001 From: xtkoba <69125751+xtkoba@u...> Date: Thu, 29 Apr 2021 23:53:55 +0900 Subject: Avoid `free(3)`ing invalid pointer Fixes [Bug #17794] --- addr2line.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addr2line.c b/addr2line.c index cf0a379..8ee4416 100644 --- a/addr2line.c +++ b/addr2line.c @@ -1699,6 +1699,7 @@ debug_info_read(DebugInfoReader *reader, int num_traces, void **traces, https://github.com/ruby/ruby/blob/trunk/addr2line.c#L1699 static unsigned long uncompress_debug_section(ElfW(Shdr) *shdr, char *file, char **ptr) { + *ptr = NULL; #ifdef SUPPORT_COMPRESSED_DEBUG_LINE ElfW(Chdr) *chdr = (ElfW(Chdr) *)(file + shdr->sh_offset); unsigned long destsize = chdr->ch_size; @@ -1719,6 +1720,7 @@ uncompress_debug_section(ElfW(Shdr) *shdr, char *file, char **ptr) https://github.com/ruby/ruby/blob/trunk/addr2line.c#L1720 fail: free(*ptr); + *ptr = NULL; #endif return 0; } -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/