]> granicus.if.org Git - imagemagick/commitdiff
Fixed usage of object after it has been destroyed and removed unused argument.
authordirk <dirk@git.imagemagick.org>
Thu, 18 Dec 2014 20:37:29 +0000 (20:37 +0000)
committerdirk <dirk@git.imagemagick.org>
Thu, 18 Dec 2014 20:37:29 +0000 (20:37 +0000)
MagickCore/distribute-cache.c

index 0cd1bf55b22a63f87194022fca34f1ac16e6b70f..521c393f83e5072b2fa18dabda89ea16633de8b1 100644 (file)
@@ -323,12 +323,14 @@ 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();
+    }
   return(server_info);
 }
 \f
@@ -395,12 +397,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));
 }
 
@@ -839,7 +840,7 @@ static void *DistributePixelCacheClient(void *socket)
       }
       case 'd':
       {
-        status=DestroyDistributeCache(registry,client_socket,session_key);
+        status=DestroyDistributeCache(registry,session_key);
         break;
       }
       default: