r14088: Fix Coverity bug #20. Don't deref possible null.
authorJeremy Allison <jra@samba.org>
Thu, 9 Mar 2006 19:03:31 +0000 (19:03 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:11:11 +0000 (11:11 -0500)
Jeremy.
(This used to be commit 7f3ace5481e55ef845da28b9c0613a2ea0de0de4)

source3/passdb/secrets.c

index bb4aad9fac6b6c44f5586422af044c689e69bed9..927337d947a6aae523eaf79c1e87a82978854409 100644 (file)
@@ -177,13 +177,16 @@ BOOL secrets_fetch_domain_guid(const char *domain, struct uuid *guid)
        strupper_m(key);
        dyn_guid = (struct uuid *)secrets_fetch(key, &size);
 
-       if ((!dyn_guid) && (lp_server_role() == ROLE_DOMAIN_PDC)) {
-               smb_uuid_generate_random(&new_guid);
-               if (!secrets_store_domain_guid(domain, &new_guid))
-                       return False;
-               dyn_guid = (struct uuid *)secrets_fetch(key, &size);
-               if (dyn_guid == NULL)
+       if (!dyn_guid) {
+               if (lp_server_role() == ROLE_DOMAIN_PDC) {
+                       smb_uuid_generate_random(&new_guid);
+                       if (!secrets_store_domain_guid(domain, &new_guid))
+                               return False;
+                       dyn_guid = (struct uuid *)secrets_fetch(key, &size);
+               }
+               if (dyn_guid == NULL) {
                        return False;
+               }
        }
 
        if (size != sizeof(struct uuid)) {