]> 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 13:26:33 +0000 (15:26 +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 ad7784888f1707435e082e4c2b9fcd1bf2346f74..ebe13d3a4c959e5452f0cb95e6afbf9e350a5202 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-10  Akim Demaille  <demaille@gostai.com>
 
        deterministic test suite.
index cfddbcf31eeb88da0a4816def84f723b497c0900..c25b519d1fa9ab92c3e00c11695c7004827265d4 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 ();
 }