Realloc fix.
[samba.git] / source3 / groupdb / groupdb.c
index 4b7795c57ba6ef3fd01694eae7e9602e03690a75..227d63e8e3fa58de38070cac73e742a70d5eeb66 100644 (file)
@@ -141,16 +141,15 @@ BOOL add_domain_group(DOMAIN_GRP **grps, int *num_grps, DOMAIN_GRP *grp)
        DOMAIN_GRP *tgrps;
 
        if (grps == NULL || num_grps == NULL || grp == NULL)
-       {
                return False;
-       }
 
        tgrps = Realloc((*grps), ((*num_grps)+1) * sizeof(DOMAIN_GRP));
-       if (tgrps == NULL)
-       {
+       if (tgrps == NULL) {
+               if (*grps)
+                       free(*grps);
                return False;
-       }
-       else (*grps) = tgrps;
+       } else
+               (*grps) = tgrps;
 
        DEBUG(10,("adding group %s(%s)\n", grp->name, grp->comment));