--- crash-7.1.5/symbols.c.orig +++ crash-7.1.5/symbols.c @@ -1418,9 +1418,11 @@ store_module_symbols_v1(ulong total, int for (i = first = last = 0; i < nsyms; i++) { modsym = (struct module_symbol *) (modsymbuf + (i * sizeof(struct module_symbol))); - if (!first) + if (!first + || first > (ulong)modsym->name) first = (ulong)modsym->name; - last = (ulong)modsym->name; + if ((ulong)modsym->name > last) + last = (ulong)modsym->name; } if (last > first) { @@ -1441,15 +1443,11 @@ store_module_symbols_v1(ulong total, int } else strbuf = NULL; - for (i = first = last = 0; i < nsyms; i++) { + for (i = 0; i < nsyms; i++) { modsym = (struct module_symbol *) (modsymbuf + (i * sizeof(struct module_symbol))); - if (!first) - first = (ulong)modsym->name; - last = (ulong)modsym->name; - BZERO(buf1, BUFSIZE); if (strbuf) @@ -1722,9 +1720,11 @@ store_module_symbols_v2(ulong total, int for (i = first = last = 0; i < nsyms; i++) { modsym = (struct kernel_symbol *) (modsymbuf + (i * sizeof(struct kernel_symbol))); - if (!first) + if (!first + || first > (ulong)modsym->name) first = (ulong)modsym->name; - last = (ulong)modsym->name; + if ((ulong)modsym->name > last) + last = (ulong)modsym->name; } if (last > first) { @@ -1745,15 +1745,12 @@ store_module_symbols_v2(ulong total, int } else strbuf = NULL; - for (i = first = last = 0; i < nsyms; i++) { + + for (i = 0; i < nsyms; i++) { modsym = (struct kernel_symbol *) (modsymbuf + (i * sizeof(struct kernel_symbol))); - if (!first) - first = (ulong)modsym->name; - last = (ulong)modsym->name; - BZERO(buf1, BUFSIZE); if (strbuf) @@ -1797,9 +1794,11 @@ store_module_symbols_v2(ulong total, int for (i = first = last = 0; i < ngplsyms; i++) { modsym = (struct kernel_symbol *) (modsymbuf + (i * sizeof(struct kernel_symbol))); - if (!first) + if (!first + || first > (ulong)modsym->name) first = (ulong)modsym->name; - last = (ulong)modsym->name; + if ((ulong)modsym->name > last) + last = (ulong)modsym->name; } if (last > first) { @@ -1820,15 +1819,11 @@ store_module_symbols_v2(ulong total, int } else strbuf = NULL; - for (i = first = last = 0; i < ngplsyms; i++) { + for (i = 0; i < ngplsyms; i++) { modsym = (struct kernel_symbol *) (modsymbuf + (i * sizeof(struct kernel_symbol))); - if (!first) - first = (ulong)modsym->name; - last = (ulong)modsym->name; - BZERO(buf1, BUFSIZE); if (strbuf)