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++)
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++)