diff --git a/HTTPMessage/HTTPMessage.m b/HTTPMessage/HTTPMessage.m index 4af3236..8d621b4 100644 --- a/HTTPMessage/HTTPMessage.m +++ b/HTTPMessage/HTTPMessage.m @@ -110,7 +110,13 @@ - (void) dealloc - (id) copyWithZone: (NSZone *) zone { CFHTTPMessageRef newMessage = CFHTTPMessageCreateCopy( kCFAllocatorDefault, _internal ); - return ( [[HTTPMessage allocWithZone: zone] initWithCFHTTPMessageRef: newMessage] ); + if ( newMessage == NULL ) + return ( nil ); + + HTTPMessage * result = [[HTTPMessage allocWithZone: zone] initWithCFHTTPMessageRef: newMessage]; + CFRelease( newMessage ); + + return ( result ); } - (id) mutableCopyWithZone: (NSZone *) zone