File ImageMagick-CVE-2014-9852.patch of Package ImageMagick.5842
--- a/magick/distribute-cache.c
+++ b/magick/distribute-cache.c
@@ -326,12 +326,15 @@ MagickPrivate DistributeCacheInfo *AcquireDistributeCacheInfo(
session_key=0;
server_info->file=ConnectPixelCacheServer(hostname,server_info->port,
&session_key,exception);
- server_info->session_key=session_key;
- (void) CopyMagickString(server_info->hostname,hostname,MaxTextExtent);
- hostname=DestroyString(hostname);
if (server_info->file == -1)
server_info=DestroyDistributeCacheInfo(server_info);
- server_info->debug=IsEventLogging();
+ else
+ {
+ server_info->session_key=session_key;
+ (void) CopyMagickString(server_info->hostname,hostname,MaxTextExtent);
+ server_info->debug=IsEventLogging();
+ }
+ hostname=DestroyString(hostname);
return(server_info);
}
@@ -398,12 +401,11 @@ MagickPrivate DistributeCacheInfo *DestroyDistributeCacheInfo(
*/
static MagickBooleanType DestroyDistributeCache(SplayTreeInfo *registry,
- int magick_unused(file),const size_t session_key)
+ const size_t session_key)
{
/*
Destroy distributed pixel cache.
*/
- magick_unreferenced(file);
return(DeleteNodeFromSplayTree(registry,(const void *) session_key));
}
@@ -829,7 +831,7 @@ static void *DistributePixelCacheClient(void *socket)
}
case 'd':
{
- status=DestroyDistributeCache(registry,client_socket,session_key);
+ status=DestroyDistributeCache(registry,session_key);
break;
}
default: