From 88ba81140eb98494fb48ac29b9450e582ceaf10d Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Wed, 9 Apr 2014 12:43:54 +1200 Subject: [PATCH] s4-wbclient: Fix wbc_sids_to_xids to correctly indicate the length of the SID list This uses the fact that we know the end of the string in p to avoid needing a strlen() call. Otherwise the winbindd validation that the extra_data is terminated may fail, if the un-initiliased memory is not zero. Andrew Bartlett Change-Id: I9b28068e4fbd3754c8d14724af93638d657810dd Signed-off-by: Andrew Bartlett Reviewed-by: Volker Lendecke Autobuild-User(master): Volker Lendecke Autobuild-Date(master): Wed Apr 9 18:26:40 CEST 2014 on sn-devel-104 --- source4/libcli/wbclient/wbclient.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source4/libcli/wbclient/wbclient.c b/source4/libcli/wbclient/wbclient.c index b5183be121..61566233ec 100644 --- a/source4/libcli/wbclient/wbclient.c +++ b/source4/libcli/wbclient/wbclient.c @@ -146,7 +146,7 @@ NTSTATUS wbc_sids_to_xids(struct tevent_context *ev, struct id_map *ids, req.cmd = WINBINDD_SIDS_TO_XIDS; req.pid = getpid(); req.extra_data.data = sids; - req.extra_len = sidslen; + req.extra_len = (p - sids); ret = wb_simple_trans(ev, fd, &req, mem_ctx, &resp, &err); if (ret == -1) { -- 2.34.1