changeset 482:a7482bfa78a1

nvl: nvlist merging needs to get new references to the values Otherwise, we'll end up releasing the reference twice - once of each nvlist. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Thu, 12 Apr 2018 11:11:15 -0400
parents a99742fc9157
children 9aacf7a44fb6
files nvl.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/nvl.c	Thu Apr 12 09:46:30 2018 -0400
+++ b/nvl.c	Thu Apr 12 11:11:15 2018 -0400
@@ -33,7 +33,8 @@
 	nvl_for_each(spair, src) {
 		int ret;
 
-		ret = nvl_set(dest, str_cstr(spair->name), spair->value);
+		ret = nvl_set(dest, str_cstr(spair->name),
+			      val_getref(spair->value));
 		if (ret)
 			return ret;
 	}