summaryrefslogtreecommitdiffstats
path: root/source/nsswitch/wb_client.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2001-08-18 19:57:41 +0000
committerJeremy Allison <jra@samba.org>2001-08-18 19:57:41 +0000
commitedefe857bd2e16042c97e2321531ddc6cc25b51f (patch)
tree180df80b3530e2ce4f5b57eb1ce030919c5c6844 /source/nsswitch/wb_client.c
parenta6785bac152bf03db3670f6372b37f4cd5f9fd7a (diff)
downloadsamba-edefe857bd2e16042c97e2321531ddc6cc25b51f.tar.gz
samba-edefe857bd2e16042c97e2321531ddc6cc25b51f.tar.xz
samba-edefe857bd2e16042c97e2321531ddc6cc25b51f.zip
More Realloc fixes.
Jeremy.
Diffstat (limited to 'source/nsswitch/wb_client.c')
-rw-r--r--source/nsswitch/wb_client.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/nsswitch/wb_client.c b/source/nsswitch/wb_client.c
index 2a29773b9ec..666daa0aa3c 100644
--- a/source/nsswitch/wb_client.c
+++ b/source/nsswitch/wb_client.c
@@ -278,7 +278,7 @@ static int wb_getgroups(char *user, gid_t **groups)
int winbind_initgroups(char *user, gid_t gid)
{
- gid_t *groups = NULL;
+ gid_t *tgr, *groups = NULL;
int result;
char *sep;
@@ -310,13 +310,14 @@ int winbind_initgroups(char *user, gid_t gid)
/* Add group to list if necessary */
if (!is_member) {
- groups = Realloc(groups, sizeof(gid_t) * ngroups + 1);
+ tgr = (gid_t *)Realloc(groups, sizeof(gid_t) * ngroups + 1);
- if (!groups) {
+ if (!tgr) {
errno = ENOMEM;
result = -1;
goto done;
- }
+ } else
+ groups = tgr;
groups[ngroups] = gid;
ngroups++;