changeset 14161:374f51e72d3f

3194 dis crashes disassembling aes Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Reviewed by: Eric Schrock <eric.schrock@delphix.com> Approved by: Albert Lee <trisk@nexenta.com>
author Richard Lowe <richlowe@richlowe.net>
date Fri, 16 Aug 2013 18:18:28 -0400
parents 734110b9882f
children b876bad2811a
files usr/src/cmd/dis/Makefile usr/src/cmd/dis/dis_target.c
diffstat 2 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/dis/Makefile	Mon Aug 19 20:01:38 2013 +0530
+++ b/usr/src/cmd/dis/Makefile	Fri Aug 16 18:18:28 2013 -0400
@@ -48,3 +48,4 @@
 lint: lint_SRCS
 
 include ../Makefile.targ
+include ../Makefile.ctf
--- a/usr/src/cmd/dis/dis_target.c	Mon Aug 19 20:01:38 2013 +0530
+++ b/usr/src/cmd/dis/dis_target.c	Fri Aug 16 18:18:28 2013 -0400
@@ -727,11 +727,12 @@
 {
 	sym_entry_t *sym;
 
-	for (sym = tgt->dt_symcache;
-	    sym != tgt->dt_symtab + tgt->dt_symcount;
-	    sym++) {
+	sym = (tgt->dt_symcache != NULL) ? tgt->dt_symcache : tgt->dt_symtab;
+
+	while (sym != (tgt->dt_symtab + tgt->dt_symcount)) {
 		if (sym->se_sym.st_value >= addr)
 			return (sym->se_sym.st_value - addr);
+		sym++;
 	}
 
 	return (0);