s4-dsdb Use sid_blob_parse()
authorAndrew Bartlett <abartlet@samba.org>
Wed, 15 Dec 2010 04:48:00 +0000 (15:48 +1100)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 16 Dec 2010 04:54:36 +0000 (15:54 +1100)
source4/dsdb/common/util.c

index e1aa89801ebe4f6316cece1a8236f9774a9c7a9a..b157ba9c9c03e9e946edc5c23b65856606d5d5d0 100644 (file)
@@ -348,6 +348,7 @@ uint32_t samdb_result_rid_from_sid(TALLOC_CTX *mem_ctx, const struct ldb_message
 struct dom_sid *samdb_result_dom_sid(TALLOC_CTX *mem_ctx, const struct ldb_message *msg, 
                                     const char *attr)
 {
+       bool ok;
        const struct ldb_val *v;
        struct dom_sid *sid;
        enum ndr_err_code ndr_err;
@@ -359,9 +360,8 @@ struct dom_sid *samdb_result_dom_sid(TALLOC_CTX *mem_ctx, const struct ldb_messa
        if (sid == NULL) {
                return NULL;
        }
-       ndr_err = ndr_pull_struct_blob(v, sid, sid,
-                                      (ndr_pull_flags_fn_t)ndr_pull_dom_sid);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+       ok = sid_blob_parse(*v, sid);
+       if (!ok) {
                talloc_free(sid);
                return NULL;
        }