s3:registry: use fill_subkey_cache to check exsistence in regkey_open_onelevel().
authorMichael Adam <obnox@samba.org>
Mon, 23 Apr 2012 14:07:21 +0000 (16:07 +0200)
committerAndreas Schneider <asn@samba.org>
Wed, 25 Apr 2012 12:31:12 +0000 (14:31 +0200)
Pair-Programmed-With: Gregor Beck <gbeck@sernet.de>

Signed-off-by: Andreas Schneider <asn@samba.org>
source3/registry/reg_api.c

index f5fea0741b2c6634596c19d51b453f30818a910e..63cd60f6cca7408b2142710b7de583a59bb4e716 100644 (file)
@@ -138,7 +138,6 @@ static WERROR regkey_open_onelevel(TALLOC_CTX *mem_ctx,
        WERROR          result = WERR_OK;
        struct registry_key *regkey;
        struct registry_key_handle *key;
-       struct regsubkey_ctr    *subkeys = NULL;
 
        DEBUG(7,("regkey_open_onelevel: name = [%s]\n", name));
 
@@ -204,21 +203,13 @@ static WERROR regkey_open_onelevel(TALLOC_CTX *mem_ctx,
                goto done;
        }
 
-       /* check if the path really exists; failed is indicated by -1 */
-       /* if the subkey count failed, bail out */
+       /* FIXME: Existence is currently checked by fetching the subkeys */
 
-       result = regsubkey_ctr_init(key, &subkeys);
+       result = fill_subkey_cache(regkey);
        if (!W_ERROR_IS_OK(result)) {
                goto done;
        }
 
-       if ( fetch_reg_keys( key, subkeys ) == -1 )  {
-               result = WERR_BADFILE;
-               goto done;
-       }
-
-       TALLOC_FREE( subkeys );
-
        if ( !regkey_access_check( key, access_desired, &key->access_granted,
                                   token ) ) {
                result = WERR_ACCESS_DENIED;