static void warn_overflow(int size, int64_t data)
{
if (size < 8) {
- int64_t lim = (1 << (size*8))-1;
+ int64_t lim = (1l << (size*8))-1;
if (data < ~lim || data > lim)
errfunc(ERR_WARNING, "%s data exceeds bounds", size_name(size));
errfunc(ERR_NONFATAL, "invalid effective address");
}
+
p = bytes;
*p++ = ea_data.modrm;
if (ea_data.sib_present)
case 2:
case 4:
data = ins->oprs[(c >> 3) & 7].offset;
+ warn_overflow(ea_data.bytes, data);
out(offset, segment, &data,
(ea_data.rip ? OUT_REL4ADR : OUT_ADDRESS)
+ ea_data.bytes,