Pushed in master and branch-2.5.
* src/muscle-tab.c (muscle_insert, muscle_grow)
* src/state.c (state_hash_insert): Check the return value of
hash_insert.
From 04d1e39dd35c7a5c9e7b12c12a7afbedee71ea96 Mon Sep 17 00:00:00 2001
From: Akim Demaille <[email protected]>
Date: Thu, 11 Jun 2009 14:42:12 +0200
Subject: [PATCH 2/4] 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.
---
ChangeLog | 7 +++++++
src/muscle-tab.c | 6 ++++--
src/state.c | 3 ++-
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 9871ea1..44db35c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2009-06-11 Akim Demaille <[email protected]>
+ 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 <[email protected]>
+
tests: honor TESTSUITEFLAGS in every check target.
* tests/local.mk (RUN_TESTSUITE): New.
(check-local, installcheck-local, maintainer-check-g++)
diff --git a/src/muscle-tab.c b/src/muscle-tab.c
index c410a55..c78e3f8 100644
--- a/src/muscle-tab.c
+++ b/src/muscle-tab.c
@@ -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
diff --git a/src/state.c b/src/state.c
index a0f5cdb..b5cd6a3 100644
--- a/src/state.c
+++ b/src/state.c
@@ -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 ();
}
--
1.6.3.2