]> granicus.if.org Git - imagemagick/commitdiff
Fixed initialization of type_cache and module_list.
authorDirk Lemstra <dirk@git.imagemagick.org>
Sat, 16 Sep 2017 07:18:03 +0000 (09:18 +0200)
committerDirk Lemstra <dirk@git.imagemagick.org>
Sat, 16 Sep 2017 07:18:03 +0000 (09:18 +0200)
MagickCore/module.c
MagickCore/type.c

index f49ea75a2432af35697ab3c9a041ab7b03f23f72..5539ccda6eda7b8fff5185080f7e86dc02012e3b 100644 (file)
@@ -870,20 +870,24 @@ static MagickBooleanType IsModuleTreeInstantiated()
           ModuleInfo
             *module_info;
 
-          module_list=NewSplayTree(CompareSplayTreeString,
+          SplayTreeInfo
+            *splay_tree;
+
+          splay_tree=NewSplayTree(CompareSplayTreeString,
             (void *(*)(void *)) NULL,DestroyModuleNode);
-          if (module_list == (SplayTreeInfo *) NULL)
+          if (splay_tree == (SplayTreeInfo *) NULL)
             ThrowFatalException(ResourceLimitFatalError,
               "MemoryAllocationFailed");
           module_info=AcquireModuleInfo((const char *) NULL,"[boot-strap]");
           module_info->stealth=MagickTrue;
-          status=AddValueToSplayTree(module_list,module_info->tag,module_info);
+          status=AddValueToSplayTree(splay_tree,module_info->tag,module_info);
           if (status == MagickFalse)
             ThrowFatalException(ResourceLimitFatalError,
               "MemoryAllocationFailed");
           if (lt_dlinit() != 0)
             ThrowFatalException(ModuleFatalError,
               "UnableToInitializeModuleLoader");
+          module_list=splay_tree;
         }
       UnlockSemaphoreInfo(module_semaphore);
     }
index 73ddcecf265bde3fd08a8042c62636f9a5ef8506..2b47563df146e162b7854e69ba5ea5bcd8787252 100644 (file)
@@ -897,13 +897,17 @@ static MagickBooleanType IsTypeTreeInstantiated(ExceptionInfo *exception)
       LockSemaphoreInfo(type_semaphore);
       if (type_cache == (SplayTreeInfo *) NULL)
         {
-          type_cache=AcquireTypeCache(MagickTypeFilename,exception);
+          SplayTreeInfo
+            *splay_tree;
+
+          splay_tree=AcquireTypeCache(MagickTypeFilename,exception);
 #if defined(MAGICKCORE_WINDOWS_SUPPORT)
-          (void) NTAcquireTypeCache(type_cache,exception);
+          (void) NTAcquireTypeCache(splay_tree,exception);
 #endif
 #if defined(MAGICKCORE_FONTCONFIG_DELEGATE)
-          (void) LoadFontConfigFonts(type_cache,exception);
+          (void) LoadFontConfigFonts(splay_tree,exception);
 #endif
+          type_cache=splay_tree;
         }
       UnlockSemaphoreInfo(type_semaphore);
     }