+2014-11-24 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf_getsrclines.c (read_srclines): Check line_range is not zero
+ before usage.
+
2014-11-23 Mark Wielaard <mjw@redhat.com>
* dwarf_attr.c (dwarf_attr): Check __libdw_find_attr return value.
/* Is this a special opcode? */
if (likely (opcode >= opcode_base))
{
+ if (unlikely (line_range == 0))
+ goto invalid_data;
+
/* Yes. Handling this is quite easy since the opcode value
is computed with
if (unlikely (standard_opcode_lengths[opcode] != 0))
goto invalid_data;
+ if (unlikely (line_range == 0))
+ goto invalid_data;
+
advance_pc ((255 - opcode_base) / line_range);
break;
+2014-11-24 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (print_debug_line_section): Check line_range is not zero
+ before usage.
+
2014-11-23 Mark Wielaard <mjw@redhat.com>
* readelf.c (print_debug_aranges_section): Check length to catch
/* Is this a special opcode? */
if (likely (opcode >= opcode_base))
{
+ if (unlikely (line_range == 0))
+ goto invalid_unit;
+
/* Yes. Handling this is quite easy since the opcode value
is computed with
case DW_LNS_const_add_pc:
/* Takes no argument. */
+
+ if (unlikely (line_range == 0))
+ goto invalid_unit;
+
advance_pc ((255 - opcode_base) / line_range);
{
char *a = format_dwarf_addr (dwflmod, 0, address, address);