Print this page
3194 dis crashes disassembling aes

@@ -717,15 +717,16 @@
 off_t
 dis_tgt_next_symbol(dis_tgt_t *tgt, uint64_t addr)
 {
         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);
 }
 #endif