mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-06 15:38:45 +08:00
fix cleanups in som_symtab_read
This fixes som_symtab_read not to leak cleanups. * somread.c (som_symtab_read): Call do_cleanups.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* somread.c (som_symtab_read): Call do_cleanups.
|
||||||
|
|
||||||
2013-05-30 Tom Tromey <tromey@redhat.com>
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* printcmd.c (print_command_1): Unconditionally call do_cleanups.
|
* printcmd.c (print_command_1): Unconditionally call do_cleanups.
|
||||||
|
@ -46,6 +46,7 @@ static void
|
|||||||
som_symtab_read (bfd *abfd, struct objfile *objfile,
|
som_symtab_read (bfd *abfd, struct objfile *objfile,
|
||||||
struct section_offsets *section_offsets)
|
struct section_offsets *section_offsets)
|
||||||
{
|
{
|
||||||
|
struct cleanup *cleanup;
|
||||||
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
||||||
unsigned int number_of_symbols;
|
unsigned int number_of_symbols;
|
||||||
int val, dynamic;
|
int val, dynamic;
|
||||||
@ -65,7 +66,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
|
|||||||
We avoid using alloca because the memory size could be so large
|
We avoid using alloca because the memory size could be so large
|
||||||
that we could hit the stack size limit. */
|
that we could hit the stack size limit. */
|
||||||
buf = xmalloc (symsize * number_of_symbols);
|
buf = xmalloc (symsize * number_of_symbols);
|
||||||
make_cleanup (xfree, buf);
|
cleanup = make_cleanup (xfree, buf);
|
||||||
bfd_seek (abfd, obj_som_sym_filepos (abfd), SEEK_SET);
|
bfd_seek (abfd, obj_som_sym_filepos (abfd), SEEK_SET);
|
||||||
val = bfd_bread (buf, symsize * number_of_symbols, abfd);
|
val = bfd_bread (buf, symsize * number_of_symbols, abfd);
|
||||||
if (val != symsize * number_of_symbols)
|
if (val != symsize * number_of_symbols)
|
||||||
@ -316,6 +317,8 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
|
|||||||
section),
|
section),
|
||||||
objfile);
|
objfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_cleanups (cleanup);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Scan and build partial symbols for a symbol file.
|
/* Scan and build partial symbols for a symbol file.
|
||||||
|
Reference in New Issue
Block a user