aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2020-02-04 21:18:56 +0000
committerMark Johnston <markj@FreeBSD.org>2020-02-04 21:18:56 +0000
commit85642eee469f28516e72eceae0635459c882b8dc (patch)
treeaf8663d4740c8e35232b1f5287145eba72e81b1b /contrib
parent37fa1df2d12c16e56747c131d08189c24ed63a6c (diff)
downloadsrc-85642eee469f28516e72eceae0635459c882b8dc.tar.gz
src-85642eee469f28516e72eceae0635459c882b8dc.zip
readelf: Don't leak memory when dwarf_get_fde_info_for_all_regs() fails.
CID: 1292493 MFC after: 1 week Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=357542
Diffstat (limited to 'contrib')
-rw-r--r--contrib/elftoolchain/readelf/readelf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/contrib/elftoolchain/readelf/readelf.c b/contrib/elftoolchain/readelf/readelf.c
index 636c841ab877..3df4660d2c6c 100644
--- a/contrib/elftoolchain/readelf/readelf.c
+++ b/contrib/elftoolchain/readelf/readelf.c
@@ -5964,6 +5964,7 @@ dump_dwarf_frame_regtable(struct readelf *re, Dwarf_Fde fde, Dwarf_Addr pc,
for (; cur_pc < end_pc; cur_pc++) {
if (dwarf_get_fde_info_for_all_regs(fde, cur_pc, &rt, &row_pc,
&de) != DW_DLV_OK) {
+ free(vec);
warnx("dwarf_get_fde_info_for_all_regs failed: %s\n",
dwarf_errmsg(de));
return (-1);