aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2025-01-01 22:50:29 +1030
committerAlan Modra <amodra@gmail.com>2025-01-01 22:50:29 +1030
commit50dd43e6e3614d337e85a36aaed8224124fe3087 (patch)
treea654534d33ae9efa77e9301e1647a8b1ed12eb8f
parente2783a90c887dbc1859ecc8b4d37f00efa258a63 (diff)
downloadgdb-50dd43e6e3614d337e85a36aaed8224124fe3087.zip
gdb-50dd43e6e3614d337e85a36aaed8224124fe3087.tar.gz
gdb-50dd43e6e3614d337e85a36aaed8224124fe3087.tar.bz2
memory leak in gas dwarf2dbg.c
Found when running the pr27355 testcase. PR 27355 PR 27426 * dwarf2dbg.c (allocate_filename_to_slot): Update dirs_in_use.
-rw-r--r--gas/dwarf2dbg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index b84f545..2963e52 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -883,6 +883,8 @@ allocate_filename_to_slot (const char *dirname,
}
dirs[files[num].dir] = xmemdup0 (dirname, strlen (dirname));
+ if (dirs_in_use <= files[num].dir)
+ dirs_in_use = files[num].dir + 1;
}
return true;
@@ -911,6 +913,8 @@ allocate_filename_to_slot (const char *dirname,
}
dirs[files[num].dir] = xmemdup0 (filename, file - filename);
+ if (dirs_in_use <= files[num].dir)
+ dirs_in_use = files[num].dir + 1;
}
return true;
}