diff --git a/ChangeLog b/ChangeLog index c6ad16f30..aab79bd5f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ (as OSX has done) and mark the numbered macros as obsolete. * Source/NSMessagePort.m: * Source/NSSocketPort.m: Log if we fail to tuirn on keepalive + * Source/NSURL.m: fix possible nul pointer dereference 2018-02-05 Richard Frith-Macdonald diff --git a/Source/NSURL.m b/Source/NSURL.m index 84954c0e0..3a8f8b044 100644 --- a/Source/NSURL.m +++ b/Source/NSURL.m @@ -347,14 +347,18 @@ static char *buildURL(parsedURL *base, parsedURL *rel, BOOL standardize) else { char *start = base->path; - char *end = strrchr(start, '/'); - if (end != 0) - { - *tmp++ = '/'; - memcpy(tmp, start, end - start); - tmp += (end - start); - } + if (start != 0) + { + char *end = strrchr(start, '/'); + + if (end != 0) + { + *tmp++ = '/'; + memcpy(tmp, start, end - start); + tmp += (end - start); + } + } *tmp++ = '/'; l = strlen(rpath); memcpy(tmp, rpath, l);