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];