From c4310fcdf48aed353d529ec4272e9e0fb5cce997 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Latour Date: Mon, 5 Jan 2015 23:47:49 -0800 Subject: [PATCH] Addressed static analyzer warnings --- GCDWebServer/Core/GCDWebServerRequest.m | 8 ++++++-- GCDWebServer/Core/GCDWebServerResponse.m | 8 ++++++-- GCDWebServer/Requests/GCDWebServerDataRequest.m | 4 +++- GCDWebServer/Requests/GCDWebServerFileRequest.m | 12 +++++++++--- .../Requests/GCDWebServerMultiPartFormRequest.m | 12 +++++++++--- GCDWebServer/Responses/GCDWebServerFileResponse.m | 12 +++++++++--- 6 files changed, 42 insertions(+), 14 deletions(-) diff --git a/GCDWebServer/Core/GCDWebServerRequest.m b/GCDWebServer/Core/GCDWebServerRequest.m index cc14993..2cde54f 100644 --- a/GCDWebServer/Core/GCDWebServerRequest.m +++ b/GCDWebServer/Core/GCDWebServerRequest.m @@ -88,7 +88,9 @@ NSString* const GCDWebServerRequestAttribute_RegexCaptures = @"GCDWebServerReque - (BOOL)open:(NSError**)error { int result = inflateInit2(&_stream, 15 + 16); if (result != Z_OK) { - *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + if (error) { + *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + } return NO; } if (![super open:error]) { @@ -114,7 +116,9 @@ NSString* const GCDWebServerRequestAttribute_RegexCaptures = @"GCDWebServerReque _stream.avail_out = (uInt)maxLength; int result = inflate(&_stream, Z_NO_FLUSH); if ((result != Z_OK) && (result != Z_STREAM_END)) { - *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + if (error) { + *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + } return NO; } length += maxLength - _stream.avail_out; diff --git a/GCDWebServer/Core/GCDWebServerResponse.m b/GCDWebServer/Core/GCDWebServerResponse.m index b0a220b..c3d7c58 100644 --- a/GCDWebServer/Core/GCDWebServerResponse.m +++ b/GCDWebServer/Core/GCDWebServerResponse.m @@ -94,7 +94,9 @@ - (BOOL)open:(NSError**)error { int result = deflateInit2(&_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 15 + 16, 8, Z_DEFAULT_STRATEGY); if (result != Z_OK) { - *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + if (error) { + *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + } return NO; } if (![super open:error]) { @@ -130,7 +132,9 @@ if (result == Z_STREAM_END) { _finished = YES; } else if (result != Z_OK) { - *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + if (error) { + *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + } return nil; } length += maxLength - _stream.avail_out; diff --git a/GCDWebServer/Requests/GCDWebServerDataRequest.m b/GCDWebServer/Requests/GCDWebServerDataRequest.m index 4f0ed75..518fe69 100644 --- a/GCDWebServer/Requests/GCDWebServerDataRequest.m +++ b/GCDWebServer/Requests/GCDWebServerDataRequest.m @@ -51,7 +51,9 @@ _data = [[NSMutableData alloc] init]; } if (_data == nil) { - *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Failed allocating memory"}]; + if (error) { + *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Failed allocating memory"}]; + } return NO; } return YES; diff --git a/GCDWebServer/Requests/GCDWebServerFileRequest.m b/GCDWebServer/Requests/GCDWebServerFileRequest.m index d0c2118..f0705b0 100644 --- a/GCDWebServer/Requests/GCDWebServerFileRequest.m +++ b/GCDWebServer/Requests/GCDWebServerFileRequest.m @@ -56,7 +56,9 @@ - (BOOL)open:(NSError**)error { _file = open([_temporaryPath fileSystemRepresentation], O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); if (_file <= 0) { - *error = GCDWebServerMakePosixError(errno); + if (error) { + *error = GCDWebServerMakePosixError(errno); + } return NO; } return YES; @@ -64,7 +66,9 @@ - (BOOL)writeData:(NSData*)data error:(NSError**)error { if (write(_file, data.bytes, data.length) != (ssize_t)data.length) { - *error = GCDWebServerMakePosixError(errno); + if (error) { + *error = GCDWebServerMakePosixError(errno); + } return NO; } return YES; @@ -72,7 +76,9 @@ - (BOOL)close:(NSError**)error { if (close(_file) < 0) { - *error = GCDWebServerMakePosixError(errno); + if (error) { + *error = GCDWebServerMakePosixError(errno); + } return NO; } #ifdef __GCDWEBSERVER_ENABLE_TESTING__ diff --git a/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m b/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m index e1c0015..fb06bcb 100644 --- a/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m +++ b/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m @@ -376,7 +376,9 @@ static NSData* _dashNewlineData = nil; NSString* boundary = GCDWebServerExtractHeaderValueParameter(self.contentType, @"boundary"); _parser = [[GCDWebServerMIMEStreamParser alloc] initWithBoundary:boundary defaultControlName:nil arguments:_arguments files:_files]; if (_parser == nil) { - *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Failed starting to parse multipart form data"}]; + if (error) { + *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Failed starting to parse multipart form data"}]; + } return NO; } return YES; @@ -384,7 +386,9 @@ static NSData* _dashNewlineData = nil; - (BOOL)writeData:(NSData*)data error:(NSError**)error { if (![_parser appendBytes:data.bytes length:data.length]) { - *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Failed continuing to parse multipart form data"}]; + if (error) { + *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Failed continuing to parse multipart form data"}]; + } return NO; } return YES; @@ -394,7 +398,9 @@ static NSData* _dashNewlineData = nil; BOOL atEnd = [_parser isAtEnd]; _parser = nil; if (!atEnd) { - *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Failed finishing to parse multipart form data"}]; + if (error) { + *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey: @"Failed finishing to parse multipart form data"}]; + } return NO; } return YES; diff --git a/GCDWebServer/Responses/GCDWebServerFileResponse.m b/GCDWebServer/Responses/GCDWebServerFileResponse.m index 2004327..86de073 100644 --- a/GCDWebServer/Responses/GCDWebServerFileResponse.m +++ b/GCDWebServer/Responses/GCDWebServerFileResponse.m @@ -142,11 +142,15 @@ static inline NSDate* _NSDateFromTimeSpec(const struct timespec* t) { - (BOOL)open:(NSError**)error { _file = open([_path fileSystemRepresentation], O_NOFOLLOW | O_RDONLY); if (_file <= 0) { - *error = GCDWebServerMakePosixError(errno); + if (error) { + *error = GCDWebServerMakePosixError(errno); + } return NO; } if (lseek(_file, _offset, SEEK_SET) != (off_t)_offset) { - *error = GCDWebServerMakePosixError(errno); + if (error) { + *error = GCDWebServerMakePosixError(errno); + } close(_file); return NO; } @@ -158,7 +162,9 @@ static inline NSDate* _NSDateFromTimeSpec(const struct timespec* t) { NSMutableData* data = [[NSMutableData alloc] initWithLength:length]; ssize_t result = read(_file, data.mutableBytes, length); if (result < 0) { - *error = GCDWebServerMakePosixError(errno); + if (error) { + *error = GCDWebServerMakePosixError(errno); + } return nil; } if (result > 0) {