summaryrefslogtreecommitdiffstats
path: root/source/groupdb/mapping.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2002-01-13 11:46:04 +0000
committerAndrew Tridgell <tridge@samba.org>2002-01-13 11:46:04 +0000
commitd09616da6823b69a03a8a008987c4eb02ca0061b (patch)
treeca04b299eb73daf65b2ee13d7c2afc2a60e8b034 /source/groupdb/mapping.c
parente6a3a01f795a85d908180ff19469ce09a2803512 (diff)
downloadsamba-d09616da6823b69a03a8a008987c4eb02ca0061b.tar.gz
samba-d09616da6823b69a03a8a008987c4eb02ca0061b.tar.xz
samba-d09616da6823b69a03a8a008987c4eb02ca0061b.zip
don't try to allocate zero bytes
Diffstat (limited to 'source/groupdb/mapping.c')
-rw-r--r--source/groupdb/mapping.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/source/groupdb/mapping.c b/source/groupdb/mapping.c
index e732f26c156..c4166ac259c 100644
--- a/source/groupdb/mapping.c
+++ b/source/groupdb/mapping.c
@@ -530,11 +530,10 @@ BOOL get_group_map_from_sid(DOM_SID sid, GROUP_MAP *map, BOOL with_priv)
ret += tdb_unpack(dbuf.dptr+ret, dbuf.dsize-ret, "d", &set->count);
DEBUG(10,("get_group_map_from_sid: %d privileges\n", map->priv_set.count));
-
- set->set=(LUID_ATTR *)malloc(set->count*sizeof(LUID_ATTR));
- if (set->set==NULL) {
- DEBUG(0,("get_group_map_from_sid: could not allocate memory for privileges\n"));
- return False;
+
+ set->set = NULL;
+ if (set->count) {
+ set->set=(LUID_ATTR *)smb_xmalloc(set->count*sizeof(LUID_ATTR));
}
for (i=0; i<set->count; i++)
@@ -591,11 +590,9 @@ BOOL get_group_map_from_gid(gid_t gid, GROUP_MAP *map, BOOL with_priv)
set=&map->priv_set;
ret += tdb_unpack(dbuf.dptr+ret, dbuf.dsize-ret, "d", &set->count);
-
- set->set=(LUID_ATTR *)malloc(set->count*sizeof(LUID_ATTR));
- if (set->set==NULL) {
- DEBUG(0,("get_group_map_from_gid: could not allocate memory for privileges\n"));
- return False;
+ set->set = NULL;
+ if (set->count) {
+ set->set=(LUID_ATTR *)smb_xmalloc(set->count*sizeof(LUID_ATTR));
}
for (i=0; i<set->count; i++)