aboutsummaryrefslogtreecommitdiffstats
path: root/src/uri.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-11-10 22:04:24 +0100
committerDavid Robillard <d@drobilla.net>2020-11-10 22:10:15 +0100
commit48635c1e2ce5ac764cc273b4f2b93e361016d612 (patch)
tree1493b1c39b0932ede8051611d33f0c22f3df3da4 /src/uri.c
parent2ce76b31f0a9831b96830f8d60c4dee166dad37a (diff)
downloadserd-48635c1e2ce5ac764cc273b4f2b93e361016d612.tar.gz
serd-48635c1e2ce5ac764cc273b4f2b93e361016d612.tar.bz2
serd-48635c1e2ce5ac764cc273b4f2b93e361016d612.zip
Fix potential memory error when serialising URIs
Diffstat (limited to 'src/uri.c')
-rw-r--r--src/uri.c3
1 files changed, 2 insertions, 1 deletions
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