diff options
author | Steve Chamberlain <sac@cygnus> | 1992-01-25 01:45:53 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1992-01-25 01:45:53 +0000 |
commit | 3d38ac61cdcb079d7f53c114a0c93622bfba4013 (patch) | |
tree | f4215f536c66e7b5f8978ce56357eb7f2d8f13e6 /gas/listing.c | |
parent | b3ca913f749156a7b1b99558dfcf1aab5bb30fdd (diff) | |
download | gdb-3d38ac61cdcb079d7f53c114a0c93622bfba4013.zip gdb-3d38ac61cdcb079d7f53c114a0c93622bfba4013.tar.gz gdb-3d38ac61cdcb079d7f53c114a0c93622bfba4013.tar.bz2 |
Don't crash if a symbol has no name
Diffstat (limited to 'gas/listing.c')
-rw-r--r-- | gas/listing.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/gas/listing.c b/gas/listing.c index 70b28b9..ce0983c 100644 --- a/gas/listing.c +++ b/gas/listing.c @@ -580,15 +580,18 @@ DEFUN_VOID(list_symbol_table) { if (ptr->sy_frag->line) { - printf("%20s:%-5d %2d:%08x %s \n", - ptr->sy_frag->line->file->filename, - ptr->sy_frag->line->line, - S_GET_SEGMENT(ptr), - S_GET_VALUE(ptr), - S_GET_NAME(ptr)); - on_page++; - listing_page(0); - + if (strlen(S_GET_NAME(ptr))) + { + printf("%20s:%-5d %2d:%08x %s \n", + ptr->sy_frag->line->file->filename, + ptr->sy_frag->line->line, + S_GET_SEGMENT(ptr), + S_GET_VALUE(ptr), + S_GET_NAME(ptr)); + + on_page++; + listing_page(0); + } } } @@ -601,11 +604,10 @@ DEFUN_VOID(list_symbol_table) for (ptr = symbol_rootP; ptr != (symbolS*)NULL; ptr = symbol_next(ptr)) { - if (strlen(S_GET_NAME(ptr)) != 0) + if (ptr && strlen(S_GET_NAME(ptr)) != 0) { if (ptr->sy_frag->line == 0) { - printf("%s\n", S_GET_NAME(ptr)); on_page++; listing_page(0); |