From 76a18c9205230d1f5c7b1675da0e3b1f494f06e8 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 3 Dec 2008 09:07:00 +0100 Subject: [PATCH] libwbclient: avoid usage talloc_init() in library code talloc_init() is a compat function for the old samba3 non-hierachical talloc implementation. It enables the talloc null tracking which should never be done by library code. metze (cherry picked from commit afa0d6b0b14e0ef2293bd8468ffc1d6330abdb5b) (cherry picked from commit 37a92ed0eb2c8cf7f3eac1d90ba5300cbce45186) (cherry picked from commit f84cbb18a018d4c28fb98f00a38a7b7df48768c0) --- source/nsswitch/libwbclient/wbc_sid.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/source/nsswitch/libwbclient/wbc_sid.c b/source/nsswitch/libwbclient/wbc_sid.c index ca5eab4ea32..4c6b0397a46 100644 --- a/source/nsswitch/libwbclient/wbc_sid.c +++ b/source/nsswitch/libwbclient/wbc_sid.c @@ -40,22 +40,18 @@ wbcErr wbcSidToString(const struct wbcDomainSid *sid, uint32_t id_auth; int i; char *tmp = NULL; - TALLOC_CTX *ctx = NULL; if (!sid) { wbc_status = WBC_ERR_INVALID_SID; BAIL_ON_WBC_ERROR(wbc_status); } - ctx = talloc_init("wbcSidToString"); - BAIL_ON_PTR_ERROR(ctx, wbc_status); - id_auth = sid->id_auth[5] + (sid->id_auth[4] << 8) + (sid->id_auth[3] << 16) + (sid->id_auth[2] << 24); - tmp = talloc_asprintf(ctx, "S-%d-%d", sid->sid_rev_num, id_auth); + tmp = talloc_asprintf(NULL, "S-%d-%d", sid->sid_rev_num, id_auth); BAIL_ON_PTR_ERROR(tmp, wbc_status); for (i=0; inum_auths; i++) { @@ -66,13 +62,13 @@ wbcErr wbcSidToString(const struct wbcDomainSid *sid, tmp = tmp2; } - *sid_string=talloc_strdup(NULL, tmp); - BAIL_ON_PTR_ERROR((*sid_string), wbc_status); + *sid_string = tmp; + tmp = NULL; wbc_status = WBC_ERR_SUCCESS; done: - talloc_free(ctx); + talloc_free(tmp); return wbc_status; } -- 2.11.4.GIT