From d7e93862726a77f3eb0820273d8ce2d8872233cd Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Latour Date: Mon, 3 Mar 2014 22:11:34 -0800 Subject: [PATCH] Fixed rare exception --- CGDWebServer/GCDWebServer.m | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CGDWebServer/GCDWebServer.m b/CGDWebServer/GCDWebServer.m index 09107df..e2da62d 100644 --- a/CGDWebServer/GCDWebServer.m +++ b/CGDWebServer/GCDWebServer.m @@ -62,7 +62,7 @@ NSString* GCDWebServerGetMimeTypeForExtension(NSString* extension) { NSString* GCDWebServerUnescapeURLString(NSString* string) { return ARC_BRIDGE_RELEASE(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)string, CFSTR(""), - kCFStringEncodingUTF8)); + kCFStringEncodingUTF8)); } NSDictionary* GCDWebServerParseURLEncodedForm(NSString* form) { @@ -83,7 +83,11 @@ NSDictionary* GCDWebServerParseURLEncodedForm(NSString* form) { key = [key stringByReplacingOccurrencesOfString:@"+" withString:@" "]; value = [value stringByReplacingOccurrencesOfString:@"+" withString:@" "]; - [parameters setObject:GCDWebServerUnescapeURLString(value) forKey:GCDWebServerUnescapeURLString(key)]; + if (key && value) { + [parameters setObject:GCDWebServerUnescapeURLString(value) forKey:GCDWebServerUnescapeURLString(key)]; + } else { + DNOT_REACHED(); + } if ([scanner isAtEnd]) { break;