summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--ChangeLog.pre-2-123
-rw-r--r--glib/grel.c21
3 files changed, 22 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 6c6d5c2af..9d32ce1f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2006-05-13 Matthias Clasen <mclasen@redhat.com>
+ * glib/grel.c: Fix several cases of deref-before-NULL-check.
+ (#341191, Pascal Terjan)
+
* glib/glib.symbols:
* glib/goption.h:
* glib/goption.c: Allow optional summary and description
diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12
index 6c6d5c2af..9d32ce1f3 100644
--- a/ChangeLog.pre-2-12
+++ b/ChangeLog.pre-2-12
@@ -1,5 +1,8 @@
2006-05-13 Matthias Clasen <mclasen@redhat.com>
+ * glib/grel.c: Fix several cases of deref-before-NULL-check.
+ (#341191, Pascal Terjan)
+
* glib/glib.symbols:
* glib/goption.h:
* glib/goption.c: Allow optional summary and description
diff --git a/glib/grel.c b/glib/grel.c
index 814401b46..b7793be38 100644
--- a/glib/grel.c
+++ b/glib/grel.c
@@ -252,11 +252,15 @@ g_relation_delete (GRelation *relation,
gconstpointer key,
gint field)
{
- GHashTable *table = relation->hashed_tuple_tables[field];
+ GHashTable *table;
GHashTable *key_table;
- gint count = relation->count;
+ gint count;
g_return_val_if_fail (relation != NULL, 0);
+
+ table = relation->hashed_tuple_tables[field];
+ count = relation->count;
+
g_return_val_if_fail (table != NULL, 0);
key_table = g_hash_table_lookup (table, key);
@@ -300,14 +304,18 @@ g_relation_select (GRelation *relation,
gconstpointer key,
gint field)
{
- GHashTable *table = relation->hashed_tuple_tables[field];
+ GHashTable *table;
GHashTable *key_table;
- GRealTuples *tuples = g_new0 (GRealTuples, 1);
+ GRealTuples *tuples;
gint count;
g_return_val_if_fail (relation != NULL, NULL);
+
+ table = relation->hashed_tuple_tables[field];
+
g_return_val_if_fail (table != NULL, NULL);
+ tuples = g_new0 (GRealTuples, 1);
key_table = g_hash_table_lookup (table, key);
if (!key_table)
@@ -330,10 +338,13 @@ g_relation_count (GRelation *relation,
gconstpointer key,
gint field)
{
- GHashTable *table = relation->hashed_tuple_tables[field];
+ GHashTable *table;
GHashTable *key_table;
g_return_val_if_fail (relation != NULL, 0);
+
+ table = relation->hashed_tuple_tables[field];
+
g_return_val_if_fail (table != NULL, 0);
key_table = g_hash_table_lookup (table, key);