summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/proplist.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/proplist.c b/src/proplist.c
index 0eb26db..6c4b9dc 100644
--- a/src/proplist.c
+++ b/src/proplist.c
@@ -190,7 +190,8 @@ int ca_proplist_setf(ca_proplist *p, const char *key, const char *format, ...) {
p->prop_hashtable[h] = prop;
prop->prev_item = NULL;
- prop->next_item = p->first_item;
+ if ((prop->next_item = p->first_item))
+ prop->next_item->prev_item = prop;
p->first_item = prop;
finish:
@@ -248,7 +249,8 @@ int ca_proplist_set(ca_proplist *p, const char *key, const void *data, size_t nb
p->prop_hashtable[h] = prop;
prop->prev_item = NULL;
- prop->next_item = p->first_item;
+ if ((prop->next_item = p->first_item))
+ prop->next_item->prev_item = prop;
p->first_item = prop;
finish: