mirror of
https://github.com/samba-team/samba.git
synced 2025-01-03 01:18:10 +03:00
CVE-2023-0614 s4-dsdb: Add samdb_result_dom_sid_buf()
This function parses a SID from an ldb_message, similar to
samdb_result_dom_sid(), but does it without allocating anything.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15270
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
[abartlet@samba.org Adapted for simple conflicts due to
56297449f9
trimming
trailing whitespace]
This commit is contained in:
parent
95be170f99
commit
e46739cb89
@ -365,6 +365,26 @@ struct dom_sid *samdb_result_dom_sid(TALLOC_CTX *mem_ctx, const struct ldb_messa
|
||||
return sid;
|
||||
}
|
||||
|
||||
/*
|
||||
pull a dom_sid structure from a objectSid in a result set.
|
||||
*/
|
||||
int samdb_result_dom_sid_buf(const struct ldb_message *msg,
|
||||
const char *attr,
|
||||
struct dom_sid *sid)
|
||||
{
|
||||
ssize_t ret;
|
||||
const struct ldb_val *v = NULL;
|
||||
v = ldb_msg_find_ldb_val(msg, attr);
|
||||
if (v == NULL) {
|
||||
return LDB_ERR_NO_SUCH_ATTRIBUTE;
|
||||
}
|
||||
ret = sid_parse(v->data, v->length, sid);
|
||||
if (ret == -1) {
|
||||
return LDB_ERR_OPERATIONS_ERROR;
|
||||
}
|
||||
return LDB_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
pull a guid structure from a objectGUID in a result set.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user