summaryrefslogtreecommitdiff
path: root/libcli
diff options
context:
space:
mode:
Diffstat (limited to 'libcli')
-rw-r--r--libcli/security/dom_sid.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/libcli/security/dom_sid.c b/libcli/security/dom_sid.c
index 836979e4509..291043446b0 100644
--- a/libcli/security/dom_sid.c
+++ b/libcli/security/dom_sid.c
@@ -243,14 +243,9 @@ struct dom_sid *dom_sid_parse_talloc(TALLOC_CTX *mem_ctx, const char *sidstr)
*/
struct dom_sid *dom_sid_parse_length(TALLOC_CTX *mem_ctx, const DATA_BLOB *sid)
{
- struct dom_sid *ret;
- char *p = talloc_strndup(mem_ctx, (char *)sid->data, sid->length);
- if (!p) {
- return NULL;
- }
- ret = dom_sid_parse_talloc(mem_ctx, p);
- talloc_free(p);
- return ret;
+ char p[sid->length+1];
+ memcpy(p, sid->data, sizeof(p));
+ return dom_sid_parse_talloc(mem_ctx, p);
}
/*