fixed bug in string array stuff in getEntry()
authormarc <devnull@localhost>
Tue, 19 Dec 1995 17:17:37 +0000 (17:17 +0000)
committermarc <devnull@localhost>
Tue, 19 Dec 1995 17:17:37 +0000 (17:17 +0000)
CVS patchset: 62
CVS date: 1995/12/19 17:17:37

lib/header.c

index b0a429c..d14e5c6 100644 (file)
@@ -86,9 +86,9 @@ int nextIterator(HeaderIterator iter,
            *p = h->data + ntohl(index[slot].offset);
        } else {
            /* Otherwise, build up an array of char* to return */
-           x = index[slot].count;
-           p = malloc(x * sizeof(char *));
-           spp = (char **) p;
+           x = ntohl(index[slot].count);
+           *p = malloc(x * sizeof(char *));
+           spp = (char **) *p;
            sp = h->data + ntohl(index[slot].offset);
            while (x--) {
                *spp++ = sp;
@@ -436,9 +436,9 @@ int getEntry(Header h, int_32 tag, int_32 * type, void **p, int_32 * c)
            *p = h->data + ntohl(index->offset);
        } else {
            /* Otherwise, build up an array of char* to return */
-           x = index->count;
-           p = malloc(x * sizeof(char *));
-           spp = (char **) p;
+           x = ntohl(index->count);
+           *p = malloc(x * sizeof(char *));
+           spp = (char **) *p;
            sp = h->data + ntohl(index->offset);
            while (x--) {
                *spp++ = sp;