From f7c71c695e251ab12aa6e603cf9b76b1ce5968d9 Mon Sep 17 00:00:00 2001 From: Richard Frith-Macdonald Date: Tue, 6 Feb 2018 12:43:55 +0000 Subject: [PATCH] fix possible nul pointer deref --- ChangeLog | 1 + Source/NSURL.m | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) 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);