From 17546f53ac1377b0d4f45a800aaec7366ba5b6a0 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Mon, 20 May 2019 01:24:15 +0200 Subject: plist_set_key_val(): prevent setting a key value that already exists in a PLIST_DICT --- src/plist.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plist.c b/src/plist.c index 29dbfb7..6d7a07f 100644 --- a/src/plist.c +++ b/src/plist.c @@ -1067,6 +1067,11 @@ static void plist_set_element_val(plist_t node, plist_type type, const void *val PLIST_API void plist_set_key_val(plist_t node, const char *val) { + plist_t father = plist_get_parent(node); + plist_t item = plist_dict_get_item(father, val); + if (item) { + return; + } plist_set_element_val(node, PLIST_KEY, val, strlen(val)); } -- cgit v1.1-32-gdbae