diff options
Diffstat (limited to 'libcli/security/util_sid.c')
-rw-r--r-- | libcli/security/util_sid.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libcli/security/util_sid.c b/libcli/security/util_sid.c index 531d3809565..4a186d69cda 100644 --- a/libcli/security/util_sid.c +++ b/libcli/security/util_sid.c @@ -300,7 +300,8 @@ void sid_copy(struct dom_sid *dst, const struct dom_sid *src) Parse a on-the-wire SID to a struct dom_sid. *****************************************************************/ -bool sid_parse(const uint8_t *inbuf, size_t len, struct dom_sid *sid) +struct sid_parse_ret sid_parse( + const uint8_t *inbuf, size_t len, struct dom_sid *sid) { DATA_BLOB in = data_blob_const(inbuf, len); enum ndr_err_code ndr_err; @@ -308,9 +309,9 @@ bool sid_parse(const uint8_t *inbuf, size_t len, struct dom_sid *sid) ndr_err = ndr_pull_struct_blob_all( &in, NULL, sid, (ndr_pull_flags_fn_t)ndr_pull_dom_sid); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { - return false; + return (struct sid_parse_ret) { .len = -1 }; } - return true; + return (struct sid_parse_ret) { .len = ndr_size_dom_sid(sid, 0) }; } /***************************************************************** |