forked from Imagelibrary/binutils-gdb
* objdump.c (disassemble_data): Initialize prevline to 0. Make
prev_function non const. Copy functionname into an malloc buffer when setting prev_function, instead of assuming that the string will last forever.
This commit is contained in:
@@ -451,8 +451,8 @@ disassemble_data (abfd)
|
||||
struct disassemble_info disasm_info;
|
||||
struct objdump_disasm_info aux;
|
||||
|
||||
int prevline;
|
||||
CONST char *prev_function = "";
|
||||
int prevline = 0;
|
||||
char *prev_function = NULL;
|
||||
|
||||
asection *section;
|
||||
|
||||
@@ -561,11 +561,16 @@ disassemble_data (abfd)
|
||||
&functionname,
|
||||
&line))
|
||||
{
|
||||
if (functionname && *functionname
|
||||
&& strcmp(functionname, prev_function))
|
||||
if (functionname
|
||||
&& *functionname != '\0'
|
||||
&& (prev_function == NULL
|
||||
|| strcmp (functionname, prev_function) != 0))
|
||||
{
|
||||
printf ("%s():\n", functionname);
|
||||
prev_function = functionname;
|
||||
if (prev_function != NULL)
|
||||
free (prev_function);
|
||||
prev_function = xmalloc (strlen (functionname) + 1);
|
||||
strcpy (prev_function, functionname);
|
||||
}
|
||||
if (!filename)
|
||||
filename = "???";
|
||||
|
||||
Reference in New Issue
Block a user