BUGFIX NULL pointer dereference
diff --git a/src/printer_data.c b/src/printer_data.c
index 7853099..b74eaee 100644
--- a/src/printer_data.c
+++ b/src/printer_data.c
@@ -51,7 +51,7 @@
break;
#endif
default:
- LOGERR(root->schema->module->ctx, LY_EINVAL, "Unknown output format.");
+ LOGERR(out->ctx, LY_EINVAL, "Unknown output format.");
ret = LY_EINVAL;
break;
}
diff --git a/src/printer_xml.c b/src/printer_xml.c
index 37ebc0d..5252038 100644
--- a/src/printer_xml.c
+++ b/src/printer_xml.c
@@ -144,9 +144,6 @@
} else {
/* TODO annotations r = modlist_add(&mlist, lys_main_module(attr->annotation->module)); */
}
- if (r) {
- goto print;
- }
}
LYD_TREE_DFS_END(child, next, cur)}
}
diff --git a/src/tree_data.c b/src/tree_data.c
index 7ecb5e9..a972d4c 100644
--- a/src/tree_data.c
+++ b/src/tree_data.c
@@ -194,7 +194,9 @@
LY_CHECK_RET(ly_mmap(ctx, fd, &length, (void **)&addr), NULL);
result = lyd_parse_mem_(ctx, addr ? addr : "", format, options, ap);
- ly_munmap(addr, length);
+ if (addr) {
+ ly_munmap(addr, length);
+ }
return result;
}