addStr: don't segfault if si->strtab == NULL.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1152 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_symtab2.c b/coregrind/vg_symtab2.c
index 728f228..7ae0170 100644
--- a/coregrind/vg_symtab2.c
+++ b/coregrind/vg_symtab2.c
@@ -159,15 +159,16 @@
* extra time taken is too small to measure. --NJN 2002-Aug-30 */
if (curr_si == si) {
for (i = NN-1; i >= 0; i--) {
- if (EMPTY != prevN[i] &&
- (0 == VG_(strcmp)(str, &si->strtab[prevN[i]]))) {
+ if (EMPTY != prevN[i]
+ && NULL != si->strtab
+ && 0 == VG_(strcmp)(str, &si->strtab[prevN[i]])) {
return prevN[i];
}
}
} else {
/* New segment */
curr_si = si;
- for (i = 0; i < 5; i++) prevN[i] = EMPTY;
+ for (i = 0; i < NN; i++) prevN[i] = EMPTY;
}
/* Shuffle prevous ones along, put new one in. */
for (i = NN-1; i > 0; i--) prevN[i] = prevN[i-1];