From 37e476a18a84bf0df9d383c1f09a738c8153ca2d Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 2 Nov 2016 17:19:09 +0100 Subject: [PATCH 1/2] s3-winbind: Do not return NO_MEMORY if we have an empty user list The domain child for the MACHINE ACCOUNT might fail with NT_STATUS_NO_MEMORY because an emtpy user list is returned. *pnum_info is already set to 0 at the beginngin so we should just declare victory here! BUG: https://bugzilla.samba.org/show_bug.cgi?id=12405 Signed-off-by: Andreas Schneider Reviewed-by: Jeremy Allison (cherry picked from commit e714dc03e0ccf9ec17da6bacc1bcfcaea7518e22) Autobuild-User(v4-4-test): Karolin Seeger Autobuild-Date(v4-4-test): Fri Nov 4 15:18:16 CET 2016 on sn-devel-144 --- source3/winbindd/winbindd_rpc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source3/winbindd/winbindd_rpc.c b/source3/winbindd/winbindd_rpc.c index 386396a..7b355ba 100644 --- a/source3/winbindd/winbindd_rpc.c +++ b/source3/winbindd/winbindd_rpc.c @@ -88,6 +88,10 @@ NTSTATUS rpc_query_user_list(TALLOC_CTX *mem_ctx, num_dom_users = disp_info.info1.count; num_info += num_dom_users; + /* If there are no user to enumerate we're done */ + if (num_info == 0) { + return NT_STATUS_OK; + } info = talloc_realloc(mem_ctx, info, -- 2.10.2 From bf9e460099d61f3614c2ea34fddc2bbe495083b8 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 21 Oct 2016 00:15:06 +0200 Subject: [PATCH 2/2] vfs:glusterfs: preallocate result for glfs_realpath https://bugzilla.samba.org/show_bug.cgi?id=12404 This makes us independent of the allocation method used inside glfs_realpath. Signed-off-by: Michael Adam Reviewed-by: Ira Cooper Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Sat Oct 22 00:28:41 CEST 2016 on sn-devel-144 (cherry picked from commit 92a0a56c3852726e0812d260e043957c879aefa4) Autobuild-User(v4-4-test): Karolin Seeger Autobuild-Date(v4-4-test): Tue Nov 8 15:35:20 CET 2016 on sn-devel-144 --- source3/modules/vfs_glusterfs.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c index 6548d7e..b8ad196 100644 --- a/source3/modules/vfs_glusterfs.c +++ b/source3/modules/vfs_glusterfs.c @@ -1020,7 +1020,20 @@ static int vfs_gluster_fallocate(struct vfs_handle_struct *handle, static char *vfs_gluster_realpath(struct vfs_handle_struct *handle, const char *path) { - return glfs_realpath(handle->data, path, 0); + char *result = NULL; + char *resolved_path = SMB_MALLOC_ARRAY(char, PATH_MAX+1); + + if (resolved_path == NULL) { + errno = ENOMEM; + return NULL; + } + + result = glfs_realpath(handle->data, path, resolved_path); + if (result == NULL) { + SAFE_FREE(resolved_path); + } + + return result; } static bool vfs_gluster_lock(struct vfs_handle_struct *handle, -- 2.10.2