summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS6
-rw-r--r--src/sratom.c11
-rw-r--r--wscript2
3 files changed, 16 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 93982ad..f58d2e0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,9 @@
+sratom (0.6.7) unstable;
+
+ * Fix potential null pointer dereference
+
+ -- David Robillard <d@drobilla.net> Wed, 16 Dec 2020 09:51:51 +0000
+
sratom (0.6.6) stable;
* Fix various minor warnings and other code quality issues
diff --git a/src/sratom.c b/src/sratom.c
index 248906f..57f4667 100644
--- a/src/sratom.c
+++ b/src/sratom.c
@@ -748,8 +748,15 @@ read_node(Sratom* sratom,
SerdNode rel = serd_node_new_relative_uri(&uri, &sratom->base, NULL, NULL);
uint8_t* path = serd_file_uri_parse(rel.buf, NULL);
- lv2_atom_forge_path(forge, (const char*)path, strlen((const char*)path));
- serd_free(path);
+ if (path) {
+ lv2_atom_forge_path(forge,
+ (const char*)path,
+ strlen((const char*)path));
+ serd_free(path);
+ } else {
+ // FIXME: Report errors (required API change)
+ lv2_atom_forge_atom(forge, 0, 0);
+ }
serd_node_free(&rel);
} else {
lv2_atom_forge_urid(forge, map->map(map->handle, str));
diff --git a/wscript b/wscript
index ccff766..99c1fb8 100644
--- a/wscript
+++ b/wscript
@@ -7,7 +7,7 @@ from waflib.extras import autowaf
# major increment <=> incompatible changes
# minor increment <=> compatible changes (additions)
# micro increment <=> no interface changes
-SRATOM_VERSION = '0.6.6'
+SRATOM_VERSION = '0.6.7'
SRATOM_MAJOR_VERSION = '0'
# Mandatory waf variables