tree data UPDATE expect valid data for merge
Fixes sysrepo/sysrepo#2848
diff --git a/src/tree_data_common.c b/src/tree_data_common.c
index 930e90c..105c586 100644
--- a/src/tree_data_common.c
+++ b/src/tree_data_common.c
@@ -90,8 +90,10 @@
}
if (dup_inst->used == dup_inst->inst_set->count) {
- /* we have used all the instances */
- *inst = NULL;
+ if (lysc_is_dup_inst_list((*inst)->schema)) {
+ /* we have used all the instances */
+ *inst = NULL;
+ } /* else just keep using the last (ideally only) instance */
} else {
assert(dup_inst->used < dup_inst->inst_set->count);