PR27426, More bugs in dwarf2dbg.c
Alan Modra
amodra@gmail.com
Tue Feb 16 09:06:11 GMT 2021
PR 27426
* dwarf2dbg.c (allocate_filename_to_slot): Allocate the dirs array
in another place.
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index f0cdc232f5..85db0bef23 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -812,10 +812,18 @@ allocate_filename_to_slot (const char * dirname,
file = get_basename (filename);
if (filename_cmp (file, files[num].filename) == 0)
{
+ /* The filenames match, but the directory table entry is empty.
+ Fill it with the provided directory name. */
if (file > filename)
- /* The filenames match, but the directory table entry is empty.
- Fill it with the provided directory name. */
- dirs[files[num].dir] = xmemdup0 (filename, file - filename);
+ {
+ if (dirs == NULL)
+ {
+ dirs_allocated = files[num].dir + 32;
+ dirs = XCNEWVEC (char *, dirs_allocated);
+ }
+
+ dirs[files[num].dir] = xmemdup0 (filename, file - filename);
+ }
return TRUE;
}
}
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list