lib: Simplify dom_sid_parse_length
authorVolker Lendecke <vl@samba.org>
Fri, 2 Jan 2015 10:02:45 +0000 (11:02 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 28 Apr 2015 16:11:13 +0000 (18:11 +0200)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
libcli/security/dom_sid.c

index 836979e45096262a33d4118a8c5bce3f3f8eb951..291043446b0add739d5168b48dc425417548de55 100644 (file)
@@ -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);
 }
 
 /*