+2014-12-11 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (print_debug_frame_section): Check number of augmentation
+ chars to print.
+
2014-12-09 Mark Wielaard <mjw@redhat.com>
* readelf.c (handle_file_note): Check count fits data section and
unsigned int augmentationlen;
get_uleb128 (augmentationlen, readp);
- if (augmentationlen > (size_t) (dataend - readp))
+ if (augmentationlen > (size_t) (cieend - readp))
{
error (0, 0, gettext ("invalid augmentation length"));
readp = cieend;
const char *hdr = "Augmentation data:";
const char *cp = augmentation + 1;
- while (*cp != '\0')
+ while (*cp != '\0' && cp < augmentation + augmentationlen + 1)
{
printf (" %-26s%#x ", hdr, *readp);
hdr = "";
const char *hdr = "Augmentation data:";
const char *cp = cie->augmentation + 1;
unsigned int u = 0;
- while (*cp != '\0')
+ while (*cp != '\0'
+ && cp < cie->augmentation + augmentationlen + 1)
{
if (*cp == 'L')
{