]> 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, 25 Jun 2009 04:57:26 +0000 (06:57 +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 96cbb7de41ddea14fc186f28ff802b61c1140f57..6b155a4fd6fac581d99847f97fef4d571290e5a8 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>
 
        gnulib: update.
index 43415716b1b4d40b31917850e08c1e40b88400b3..0137700f92cabc8c7e23b17daee4421853633fb7 100644 (file)
@@ -121,7 +121,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);
@@ -150,7 +151,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 d3460c1575366c846c803f63c2d2e01c66a85aa9..40139868194946d9050bf38fd4b7861fce329660 100644 (file)
@@ -352,7 +352,8 @@ state_hash_free (void)
 void
 state_hash_insert (state *s)
 {
-  hash_insert (state_table, s);
+  if (!hash_insert (state_table, s))
+    xalloc_die ();
 }