* dwarf.c (read_leb128): Fix test for shift becoming too large.
if (!is->init)
{
+ long high = s->where->offset + s->type->size;
+
is->low = s->where->offset;
- is->high = s->where->offset + s->type->size;
+ is->high = high;
+ /* PR 17512: file: 37e7a80d. */
+ if (is->high != high)
+ fatal (_("Out of range type size: %u"), s->type->size);
is->init = 1;
is->parent = s->where->section;
}
/* PR 17512: file: 0ca183b8.
FIXME: Should we signal this error somehow ? */
- if (shift >= sizeof (result))
+ if (shift >= sizeof (result) * 8)
break;
}