]> git.saurik.com Git - bison.git/commitdiff
hash: check insertion for memory exhaustion.
authorAkim Demaille <demaille@gostai.com>
Thu, 11 Jun 2009 12:42:12 +0000 (14:42 +0200)
committerAkim Demaille <demaille@gostai.com>
Thu, 11 Jun 2009 12:42:12 +0000 (14:42 +0200)
* src/muscle-tab.c (muscle_insert, muscle_grow)
* src/state.c (state_hash_insert): Check the return value of
hash_insert.

ChangeLog
src/muscle-tab.c
src/state.c

index 9871ea15d81f119117ce830ed998c971360839bf..44db35c02ff2aa70465a0414ce794c3111fc9482 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-06-11  Akim Demaille  <demaille@gostai.com>
+
+       hash: check insertion for memory exhaustion.
+       * src/muscle-tab.c (muscle_insert, muscle_grow)
+       * src/state.c (state_hash_insert): Check the return value of
+       hash_insert.
+
 2009-06-11  Akim Demaille  <demaille@gostai.com>
 
        tests: honor TESTSUITEFLAGS in every check target.
index c410a5510327ea7bef2b47eb720afb451c4b8927..c78e3f8d58dddf5f8a0bdb511baca1467b6923a4 100644 (file)
@@ -120,7 +120,8 @@ muscle_insert (char const *key, char const *value)
       /* First insertion in the hash. */
       entry = xmalloc (sizeof *entry);
       entry->key = key;
-      hash_insert (muscle_table, entry);
+      if (!hash_insert (muscle_table, entry))
+        xalloc_die ();
     }
   else
     free (entry->storage);
@@ -149,7 +150,8 @@ muscle_grow (const char *key, const char *val, const char *separator)
       /* First insertion in the hash. */
       entry = xmalloc (sizeof *entry);
       entry->key = key;
-      hash_insert (muscle_table, entry);
+      if (!hash_insert (muscle_table, entry))
+        xalloc_die ();
       entry->value = entry->storage = xstrdup (val);
     }
   else
index a0f5cdb84371f20c7be2cbf5793a96dbfcff75e8..b5cd6a329c9927d41017f4c4bc44c9eece9fc998 100644 (file)
@@ -379,7 +379,8 @@ state_hash_free (void)
 void
 state_hash_insert (state *s)
 {
-  hash_insert (state_table, s);
+  if (!hash_insert (state_table, s))
+    xalloc_die ();
 }