From 02027eec2603a83218cb837d6c33b601e8ef8efa Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 16 Dec 2020 10:52:37 +0100 Subject: Fix potential null pointer dereference --- NEWS | 6 ++++++ src/sratom.c | 11 +++++++++-- wscript | 2 +- 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 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 -- cgit v1.2.1