PR24876, readelf: heap-buffer-overflow in dump_ia64_unwind
PR 24876 * readelf.c (dump_ia64_unwind): Check that buffer is large enough for "stamp" before reading.
This commit is contained in:
parent
0cf9feb996
commit
906799036a
2 changed files with 8 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2019-08-07 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
PR 24876
|
||||||
|
* readelf.c (dump_ia64_unwind): Check that buffer is large
|
||||||
|
enough for "stamp" before reading.
|
||||||
|
|
||||||
2019-08-05 Nick Clifton <nickc@redhat.com>
|
2019-08-05 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR 24874
|
PR 24874
|
||||||
|
|
|
@ -7574,7 +7574,8 @@ dump_ia64_unwind (Filedata * filedata, struct ia64_unw_aux_info * aux)
|
||||||
}
|
}
|
||||||
offset -= aux->info_addr;
|
offset -= aux->info_addr;
|
||||||
/* PR 17531: file: 0997b4d1. */
|
/* PR 17531: file: 0997b4d1. */
|
||||||
if (offset >= aux->info_size)
|
if (offset >= aux->info_size
|
||||||
|
|| aux->info_size - offset < 8)
|
||||||
{
|
{
|
||||||
warn (_("Invalid offset %lx in table entry %ld\n"),
|
warn (_("Invalid offset %lx in table entry %ld\n"),
|
||||||
(long) tp->info.offset, (long) (tp - aux->table));
|
(long) tp->info.offset, (long) (tp - aux->table));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue