s3:serverid: don't ignore the result of dbwrap_parse_record()
authorStefan Metzmacher <metze@samba.org>
Fri, 22 Jun 2012 10:20:54 +0000 (12:20 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 22 Jun 2012 10:56:45 +0000 (12:56 +0200)
metze

source3/lib/serverid.c

index 0033d60833293d0de272510b9db7929af1d51d80..4e3175662030b314b5e10eacc99884bfd5b4c661 100644 (file)
@@ -311,6 +311,7 @@ bool serverids_exist(const struct server_id *ids, int num_ids, bool *results)
                struct serverid_exists_state state;
                struct serverid_key key;
                TDB_DATA tdbkey;
+               NTSTATUS status;
 
                if (ids[i].unique_id == SERVERID_UNIQUE_ID_NOT_TO_VERIFY) {
                        results[i] = true;
@@ -325,7 +326,11 @@ bool serverids_exist(const struct server_id *ids, int num_ids, bool *results)
 
                state.id = &ids[i];
                state.exists = false;
-               dbwrap_parse_record(db, tdbkey, server_exists_parse, &state);
+               status = dbwrap_parse_record(db, tdbkey, server_exists_parse, &state);
+               if (!NT_STATUS_IS_OK(status)) {
+                       results[i] = false;
+                       continue;
+               }
                results[i] = state.exists;
        }
        return true;