tree data BUGFIX correct key length
Fixes #2149
diff --git a/src/tree_data_new.c b/src/tree_data_new.c
index 0fc4010..5d9f429 100644
--- a/src/tree_data_new.c
+++ b/src/tree_data_new.c
@@ -818,8 +818,8 @@
/* create and insert all the keys */
i = 0;
for (key_s = lysc_node_child(ret->schema); key_s && (key_s->flags & LYS_KEY); key_s = key_s->next) {
- key_val = key_values[i];
- key_len = value_lengths ? value_lengths[i] : 0;
+ key_val = key_values[i] ? key_values[i] : "";
+ key_len = value_lengths ? value_lengths[i] : strlen(key_val);
rc = lyd_create_term(key_s, key_val, key_len, 0, NULL, format, NULL, LYD_HINT_DATA, NULL, &key);
LY_CHECK_GOTO(rc, cleanup);