s3: Fix a winbind segfault in "trusted_domains"
authorVolker Lendecke <vl@samba.org>
Wed, 13 Jan 2010 11:20:26 +0000 (12:20 +0100)
committerVolker Lendecke <vl@samba.org>
Wed, 13 Jan 2010 11:22:31 +0000 (12:22 +0100)
We have to initialize domain->backend by calling "get_cache" before doing a
query

Thanks to Christian Ambach to find this :-)

source3/winbindd/winbindd_cache.c

index b7b5e6d7edab1e1691331a8bc5b2a405977b3e51..a9690aea1c696dc6363f4b693025cbd87fdb9598 100644 (file)
@@ -2715,15 +2715,16 @@ static NTSTATUS trusted_domains(struct winbindd_domain *domain,
        old_status = domain->online;
        trusts->count = 0;
        trusts->array = NULL;
-       if (domain->online) {
-               goto do_query;
-       }
 
        cache = get_cache(domain);
        if (!cache || !cache->tdb) {
                goto do_query;
        }
 
+       if (domain->online) {
+               goto do_query;
+       }
+
        retval = wcache_tdc_fetch_list(&dom_list, &num_domains);
        if (!retval || !num_domains || !dom_list) {
                TALLOC_FREE(dom_list);