diff options
| author | eschrock <none@none> | 2006-03-10 09:32:27 -0800 |
|---|---|---|
| committer | eschrock <none@none> | 2006-03-10 09:32:27 -0800 |
| commit | d79705c6da45734d3411280cc947a21452742849 (patch) | |
| tree | 098893e94ed338f0cf0c3bb7c56e1cf13ecee061 /usr/src/lib/libdisasm | |
| parent | 0e34b6a7bff4918432f0aa6b1dfaf73ac9df45b1 (diff) | |
| download | illumos-joyent-d79705c6da45734d3411280cc947a21452742849.tar.gz | |
6395714 ::dis -n 0 causes coredump on x86
6395718 ::dis truncates offsets for symbols
6395887 relative call addresses are decoded incorrectly on SPARC
Diffstat (limited to 'usr/src/lib/libdisasm')
| -rw-r--r-- | usr/src/lib/libdisasm/i386/dis_i386.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/usr/src/lib/libdisasm/i386/dis_i386.c b/usr/src/lib/libdisasm/i386/dis_i386.c index e499bd9ee0..3bcb4b3a71 100644 --- a/usr/src/lib/libdisasm/i386/dis_i386.c +++ b/usr/src/lib/libdisasm/i386/dis_i386.c @@ -189,6 +189,9 @@ dis_previnstr(dis_handle_t *dhp, uint64_t pc, int n) int cur, nseen; uint64_t res = pc; + if (n <= 0) + return (pc); + if (dhp->dh_lookup(dhp->dh_data, pc, NULL, 0, &start, NULL) != 0 || start == pc) return (res); |
