svn commit: samba r14767 - in trunk/source/registry: .

jra at samba.org jra at samba.org
Wed Mar 29 22:45:58 GMT 2006


Author: jra
Date: 2006-03-29 22:45:58 +0000 (Wed, 29 Mar 2006)
New Revision: 14767

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14767

Log:
Fix possible NULL deref. Coverity #254.
Jeremy.

Modified:
   trunk/source/registry/reg_objects.c


Changeset:
Modified: trunk/source/registry/reg_objects.c
===================================================================
--- trunk/source/registry/reg_objects.c	2006-03-29 22:45:52 UTC (rev 14766)
+++ trunk/source/registry/reg_objects.c	2006-03-29 22:45:58 UTC (rev 14767)
@@ -43,8 +43,6 @@
 
 int regsubkey_ctr_addkey( REGSUBKEY_CTR *ctr, const char *keyname )
 {
-	char **pp;
-
 	if ( !keyname )
 		return ctr->num_subkeys;
 
@@ -55,14 +53,17 @@
 		
 	/* 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 */
 	
 	ctr->subkeys[ctr->num_subkeys] = talloc_strdup( ctr, keyname );



More information about the samba-cvs mailing list