]> granicus.if.org Git - p11-kit/commitdiff
Don't crash if p11_kit_registered_modules() called after failed init
authorStef Walter <stefw@collabora.co.uk>
Tue, 30 Aug 2011 19:18:58 +0000 (21:18 +0200)
committerStef Walter <stefw@collabora.co.uk>
Tue, 30 Aug 2011 19:18:58 +0000 (21:18 +0200)
p11-kit/modules.c

index 33101fa01773323c1ff22da51d81a65bd84bca61..e683c4620203d1dbe43612411610e49d4b62cc63 100644 (file)
@@ -775,12 +775,13 @@ p11_kit_finalize_registered (void)
 CK_FUNCTION_LIST_PTR_PTR
 _p11_kit_registered_modules_unlocked (void)
 {
-       CK_FUNCTION_LIST_PTR_PTR result;
+       CK_FUNCTION_LIST_PTR_PTR result = NULL;
        Module *mod;
        hashiter iter;
        int i = 0;
 
-       result = calloc (hash_size (gl.modules) + 1, sizeof (CK_FUNCTION_LIST_PTR));
+       if (gl.modules)
+               result = calloc (hash_size (gl.modules) + 1, sizeof (CK_FUNCTION_LIST_PTR));
        if (result) {
                hash_iterate (gl.modules, &iter);
                while (hash_next (&iter, NULL, (void **)&mod)) {