From 48635c1e2ce5ac764cc273b4f2b93e361016d612 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 10 Nov 2020 22:04:24 +0100 Subject: Fix potential memory error when serialising URIs --- NEWS | 3 ++- src/uri.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index cdfc1ca2..2b37bc58 100644 --- a/NEWS +++ b/NEWS @@ -1,9 +1,10 @@ serd (0.30.7) unstable; + * Fix potential memory error when serialising URIs * Move headers to an include directory * Split up and reorganize unit tests - -- David Robillard Mon, 09 Nov 2020 19:02:52 +0000 + -- David Robillard Tue, 10 Nov 2020 21:04:06 +0000 serd (0.30.6) stable; diff --git a/src/uri.c b/src/uri.c index 36e978f2..54ff1bba 100644 --- a/src/uri.c +++ b/src/uri.c @@ -448,7 +448,8 @@ serd_uri_serialise_relative(const SerdURI* uri, if (uri->authority.buf) { len += sink("//", 2, stream); len += sink(uri->authority.buf, uri->authority.len, stream); - if (uri->authority.buf[uri->authority.len - 1] != '/' && + if (uri->authority.len > 0 && + uri->authority.buf[uri->authority.len - 1] != '/' && serd_uri_path_starts_without_slash(uri)) { // Special case: ensure path begins with a slash // https://tools.ietf.org/html/rfc3986#section-3.2 -- cgit v1.2.1