/* Convert the segment selector onto a table index */
seg_selector >>= 3;
- vassert(seg_selector < 8192);
+ vassert(seg_selector < VEX_GUEST_X86_GDT_NENT);
if (tiBit == 0) {
if (gdt == 0)
goto bad;
- /* Check for access to non-existent entry. */
- if (seg_selector >= VEX_GUEST_X86_GDT_NENT)
- goto bad;
-
the_descrs = (VexGuestX86SegDescr*)gdt;
base = get_segdescr_base (&the_descrs[seg_selector]);
limit = get_segdescr_limit(&the_descrs[seg_selector]);
"DiCfsi invariant (1) verification failed");
}
}
- di2 = NULL;
}
/* degenerate case: all r-x sections are empty */
? VG_(get_fnname_w_offset) (ep, eip, &buf_fn)
: VG_(get_fnname) (ep, eip, &buf_fn);
} else {
- const DiInlLoc *next_inl = iipc && iipc->next_inltab >= 0
+ const DiInlLoc *next_inl = iipc && iipc->di && iipc->next_inltab >= 0
? & iipc->di->inltab[iipc->next_inltab]
: NULL;
vg_assert (next_inl);
disym.isText = is_text;
disym.isIFunc = is_ifunc;
disym.isGlobal = is_global;
- if (cstr) { ML_(dinfo_free)(cstr); cstr = NULL; }
+ ML_(dinfo_free)(cstr);
vg_assert(disym.pri_name);
vg_assert(GET_TOCPTR_AVMA(disym.avmas) == 0);
/* has no role except on ppc64be-linux */
GET_LOCAL_EP_AVMA(disym.avmas));
}
}
-
}
}
}