diff options
author | David Robillard <d@drobilla.net> | 2020-11-10 22:04:24 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-11-10 22:10:15 +0100 |
commit | 48635c1e2ce5ac764cc273b4f2b93e361016d612 (patch) | |
tree | 1493b1c39b0932ede8051611d33f0c22f3df3da4 /src | |
parent | 2ce76b31f0a9831b96830f8d60c4dee166dad37a (diff) | |
download | serd-48635c1e2ce5ac764cc273b4f2b93e361016d612.tar.gz serd-48635c1e2ce5ac764cc273b4f2b93e361016d612.tar.bz2 serd-48635c1e2ce5ac764cc273b4f2b93e361016d612.zip |
Fix potential memory error when serialising URIs
Diffstat (limited to 'src')
-rw-r--r-- | src/uri.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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 |