Summary: | readelf crash on 32bits (at least i386 and armhf) | ||
---|---|---|---|
Product: | binutils | Reporter: | Gianfranco <costamagnagianfranco> |
Component: | binutils | Assignee: | Alan Modra <amodra> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | 2.33 | ||
Target Milestone: | 2.33 | ||
Host: | Target: | ||
Build: | Last reconfirmed: | ||
Attachments: | example of failing file |
Description
Gianfranco
2019-09-19 07:42:01 UTC
The master branch has been updated by Alan Modra <amodra@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b3fe587ed2c78d46132bd33e14f42449d410354b commit b3fe587ed2c78d46132bd33e14f42449d410354b Author: Alan Modra <amodra@gmail.com> Date: Mon Sep 23 08:53:07 2019 +0930 PR25018, readelf crash on 32bits Pointer comparisons after adding an offset just don't work to catch overflow when the offset is a larger type than the pointer. PR 25018 * dwarf.c (get_type_signedness): Delete ineffective pointer comparison check. Properly range check uvalue offset on recursive call. (read_and_display_attr_value): Range check uvalue offset before calling get_type_signedness. Fixed. The binutils-2_33-branch branch has been updated by Alan Modra <amodra@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a11b3493ca2d5aabdc218197b92026098d7e2f57 commit a11b3493ca2d5aabdc218197b92026098d7e2f57 Author: Alan Modra <amodra@gmail.com> Date: Mon Sep 23 08:53:07 2019 +0930 PR25018, readelf crash on 32bits Pointer comparisons after adding an offset just don't work to catch overflow when the offset is a larger type than the pointer. PR 25018 * dwarf.c (get_type_signedness): Delete ineffective pointer comparison check. Properly range check uvalue offset on recursive call. (read_and_display_attr_value): Range check uvalue offset before calling get_type_signedness. (cherry picked from commit b3fe587ed2c78d46132bd33e14f42449d410354b) |