merge from gcc
authorDJ Delorie <dj@redhat.com>
Mon, 20 Jan 2003 19:03:56 +0000 (19:03 +0000)
committerDJ Delorie <dj@redhat.com>
Mon, 20 Jan 2003 19:03:56 +0000 (19:03 +0000)
libiberty/ChangeLog
libiberty/hashtab.c

index 3b236b01b397e3472c684faff3031daa8f45d1aa..e8f0ce2d397a9cf55d6d27b513a74e5194282aa2 100644 (file)
@@ -1,3 +1,7 @@
+2003-01-20  Josef Zlomek  <zlomekj@suse.cz>
+
+       * hashtab.c (htab_expand): Fix allocation of new entries.
+
 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
 
        * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
index 6bf59ff7378ef18d9d0951e038d15f4efa30e111..27741ef6247fc9219b93a3af177877291dd46485 100644 (file)
@@ -306,16 +306,18 @@ htab_expand (htab)
   PTR *olimit;
   PTR *p;
   PTR *nentries;
+  size_t nsize;
 
   oentries = htab->entries;
   olimit = oentries + htab->size;
 
-  htab->size = higher_prime_number (htab->size * 2);
+  nsize = higher_prime_number (htab->size * 2);
 
-  nentries = (PTR *) (*htab->alloc_f) (htab->size, sizeof (PTR *));
+  nentries = (PTR *) (*htab->alloc_f) (nsize, sizeof (PTR));
   if (nentries == NULL)
     return 0;
   htab->entries = nentries;
+  htab->size = nsize;
 
   htab->n_elements -= htab->n_deleted;
   htab->n_deleted = 0;