From b782991065f6f948f6f4e5b87116a87cb8f02b74 Mon Sep 17 00:00:00 2001 From: Mattt Thompson Date: Fri, 20 Jan 2012 11:03:08 -0800 Subject: [PATCH] Adding check for responseData having non-zero length for response object methods in AFHTTPRequestOperation subclasses --- AFNetworking/AFImageRequestOperation.m | 4 ++-- AFNetworking/AFJSONRequestOperation.m | 2 +- AFNetworking/AFPropertyListRequestOperation.m | 2 +- AFNetworking/AFXMLRequestOperation.m | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/AFNetworking/AFImageRequestOperation.m b/AFNetworking/AFImageRequestOperation.m index eabeaf1..e004e9d 100644 --- a/AFNetworking/AFImageRequestOperation.m +++ b/AFNetworking/AFImageRequestOperation.m @@ -156,7 +156,7 @@ static dispatch_queue_t image_request_operation_processing_queue() { #if __IPHONE_OS_VERSION_MIN_REQUIRED - (UIImage *)responseImage { - if (!_responseImage && [self isFinished]) { + if (!_responseImage && [self.responseData length] > 0 && [self isFinished]) { UIImage *image = [UIImage imageWithData:self.responseData]; self.responseImage = [UIImage imageWithCGImage:[image CGImage] scale:self.imageScale orientation:image.imageOrientation]; @@ -178,7 +178,7 @@ static dispatch_queue_t image_request_operation_processing_queue() { } #elif __MAC_OS_X_VERSION_MIN_REQUIRED - (NSImage *)responseImage { - if (!_responseImage && [self isFinished]) { + if (!_responseImage && [self.responseData length] > 0 && [self isFinished]) { // Ensure that the image is set to it's correct pixel width and height NSBitmapImageRep *bitimage = [[NSBitmapImageRep alloc] initWithData:self.responseData]; self.responseImage = [[[NSImage alloc] initWithSize:NSMakeSize([bitimage pixelsWide], [bitimage pixelsHigh])] autorelease]; diff --git a/AFNetworking/AFJSONRequestOperation.m b/AFNetworking/AFJSONRequestOperation.m index 294f724..5c651de 100644 --- a/AFNetworking/AFJSONRequestOperation.m +++ b/AFNetworking/AFJSONRequestOperation.m @@ -92,7 +92,7 @@ static dispatch_queue_t json_request_operation_processing_queue() { } - (id)responseJSON { - if (!_responseJSON && [self isFinished]) { + if (!_responseJSON && [self.responseData length] > 0 && [self isFinished]) { NSError *error = nil; if ([self.responseData length] == 0) { diff --git a/AFNetworking/AFPropertyListRequestOperation.m b/AFNetworking/AFPropertyListRequestOperation.m index 7d84620..bb7a41b 100644 --- a/AFNetworking/AFPropertyListRequestOperation.m +++ b/AFNetworking/AFPropertyListRequestOperation.m @@ -92,7 +92,7 @@ static dispatch_queue_t property_list_request_operation_processing_queue() { } - (id)responsePropertyList { - if (!_responsePropertyList && [self isFinished]) { + if (!_responsePropertyList && [self.responseData length] > 0 && [self isFinished]) { NSPropertyListFormat format; NSError *error = nil; self.responsePropertyList = [NSPropertyListSerialization propertyListWithData:self.responseData options:self.propertyListReadOptions format:&format error:&error]; diff --git a/AFNetworking/AFXMLRequestOperation.m b/AFNetworking/AFXMLRequestOperation.m index d01a084..7d9f0b3 100644 --- a/AFNetworking/AFXMLRequestOperation.m +++ b/AFNetworking/AFXMLRequestOperation.m @@ -137,7 +137,7 @@ static dispatch_queue_t xml_request_operation_processing_queue() { } - (NSXMLParser *)responseXMLParser { - if (!_responseXMLParser && [self isFinished]) { + if (!_responseXMLParser && [self.responseData length] > 0 && [self isFinished]) { self.responseXMLParser = [[[NSXMLParser alloc] initWithData:self.responseData] autorelease]; } @@ -146,7 +146,7 @@ static dispatch_queue_t xml_request_operation_processing_queue() { #if __MAC_OS_X_VERSION_MIN_REQUIRED - (NSXMLDocument *)responseXMLDocument { - if (!_responseXMLDocument && [self isFinished]) { + if (!_responseXMLDocument && [self.responseData length] > 0 && [self isFinished]) { NSError *error = nil; self.responseXMLDocument = [[[NSXMLDocument alloc] initWithData:self.responseData options:0 error:&error] autorelease]; self.error = error;