diff options
author | Jeremy Allison <jra@samba.org> | 2001-10-11 09:35:01 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-10-11 09:35:01 +0000 |
commit | f0b5382869d12249e593ac2f10fc9f1f9d03bae6 (patch) | |
tree | 97543b143f7e42dfdfd7e6e46ad22d0fd59bcdab /source/groupdb/aliasfile.c | |
parent | 8d4870bccd026d059c160de3642bb427338256ec (diff) | |
download | samba-f0b5382869d12249e593ac2f10fc9f1f9d03bae6.tar.gz |
Sync-up with SAMBA_2_2 branch.
Jeremy.
Diffstat (limited to 'source/groupdb/aliasfile.c')
-rw-r--r-- | source/groupdb/aliasfile.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/source/groupdb/aliasfile.c b/source/groupdb/aliasfile.c index 4b8bbe3079f..2fb5a86a800 100644 --- a/source/groupdb/aliasfile.c +++ b/source/groupdb/aliasfile.c @@ -119,32 +119,29 @@ static char *get_alias_members(char *p, int *num_mem, LOCAL_GRP_MEMBER **members fstring name; if (num_mem == NULL || members == NULL) - { return NULL; - } (*num_mem) = 0; (*members) = NULL; - while (next_token(&p, name, ",", sizeof(fstring))) - { + while (next_token(&p, name, ",", sizeof(fstring))) { + LOCAL_GRP_MEMBER *mbrs; DOM_SID sid; uint8 type; - if (lookup_sid(name, &sid, &type)) - { - (*members) = Realloc((*members), ((*num_mem)+1) * sizeof(LOCAL_GRP_MEMBER)); + if (lookup_sid(name, &sid, &type)) { + mbrs = Realloc((*members), ((*num_mem)+1) * sizeof(LOCAL_GRP_MEMBER)); (*num_mem)++; - } - else - { + } else { DEBUG(0,("alias database: could not resolve alias named %s\n", name)); continue; } - if ((*members) == NULL) - { + if (mbrs == NULL) { + if (*members) + free(*members); return NULL; - } + } else + (*members) = mbrs; fstrcpy((*members)[(*num_mem)-1].name, name); (*members)[(*num_mem)-1].sid_use = type; sid_copy(&(*members)[(*num_mem)-1].sid, &sid); |