r14766: Fix possible NULL deref. Coverity #254.
authorJeremy Allison <jra@samba.org>
Wed, 29 Mar 2006 22:45:52 +0000 (22:45 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:15:47 +0000 (11:15 -0500)
Jeremy.
(This used to be commit e2e2d8b939dd425a97b36102c6a541e3cf6236ad)

source3/registry/reg_objects.c

index 05567d561c62589a48b7f8e240dc31beaf81fd1a..71c2e206c71d8a859ec954971823fc4bf3cff886 100644 (file)
@@ -43,8 +43,6 @@
 
 int regsubkey_ctr_addkey( REGSUBKEY_CTR *ctr, const char *keyname )
 {
-       char **pp;
-
        if ( !keyname )
                return ctr->num_subkeys;
 
@@ -55,12 +53,15 @@ int regsubkey_ctr_addkey( REGSUBKEY_CTR *ctr, const char *keyname )
                
        /* allocate a space for the char* in the array */
                
-       if (  ctr->subkeys == 0 )
-               ctr->subkeys = TALLOC_P( ctr, char *);
-       else {
-               pp = TALLOC_REALLOC_ARRAY( ctr, ctr->subkeys, char *, ctr->num_subkeys+1);
-               if ( pp )
-                       ctr->subkeys = pp;
+       if (ctr->subkeys == NULL) {
+               ctr->subkeys = TALLOC_P(ctr, char *);
+       } else {
+               ctr->subkeys = TALLOC_REALLOC_ARRAY(ctr, ctr->subkeys, char *, ctr->num_subkeys+1);
+       }
+
+       if (!ctr->subkeys) {
+               ctr->num_subkeys = 0;
+               return 0;
        }
 
        /* allocate the string and save it in the array */