diff options
author | Vivian Zhang <vivian.zhang@intel.com> | 2009-06-23 19:55:36 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-06-23 19:55:36 +0200 |
commit | f7ad27e2f74336d61eddd1aa068b221a1beedf0b (patch) | |
tree | fad110ae2c309e299320c78e619e5de518561e42 /src/proplist.c | |
parent | b8642bde955cee9711c9d26c4b221841e924e6c4 (diff) |
proplist: set prev_item when adding a new key/value pair
Closes bugs.fd.o #22292
Diffstat (limited to 'src/proplist.c')
-rw-r--r-- | src/proplist.c | 6 |
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: |