memory allocation check.
-2010-06-02 Cal Peake <cp@absolutedigital.net>
+2011-06-02 Peter Vrabec <pvrabec@redhat.com>
+
+ * libmisc/find_new_uid.c, libmisc/find_new_gid.c: Add missing
+ memory allocation check.
+
+2011-06-02 Cal Peake <cp@absolutedigital.net>
* NEWS, libmisc/addgrps.c: Fix allocator loop. Continue to
getgroups() when getgroups fails (-1) with errno==EINVAL.
#include <assert.h>
#include <stdio.h>
+#include <errno.h>
#include "prototypes.h"
#include "groupio.h"
Prog, (unsigned long) gid_min, getdef_ulong ("GID_MIN", 1000UL), (unsigned long) gid_max);
}
}
- used_gids = alloca (sizeof (bool) * (gid_max +1));
+ used_gids = malloc (sizeof (bool) * (gid_max +1));
+ if (NULL == used_gids) {
+ fprintf (stderr,
+ _("%s: failed to allocate memory: %s\n"),
+ Prog, strerror (errno));
+ return -1;
+ }
memset (used_gids, false, sizeof (bool) * (gid_max + 1));
if ( (NULL != preferred_gid)
}
}
+ free (used_gids);
*gid = group_id;
return 0;
}
#include <assert.h>
#include <stdio.h>
+#include <errno.h>
#include "prototypes.h"
#include "pwio.h"
Prog, (unsigned long) uid_min, getdef_ulong ("UID_MIN", 1000UL), (unsigned long) uid_max);
}
}
- used_uids = alloca (sizeof (bool) * (uid_max +1));
+ used_uids = malloc (sizeof (bool) * (uid_max +1));
+ if (NULL == used_uids) {
+ fprintf (stderr,
+ _("%s: failed to allocate memory. %s\n"),
+ Prog, strerror (errno));
+ return -1;
+ }
memset (used_uids, false, sizeof (bool) * (uid_max + 1));
if ( (NULL != preferred_uid)
}
}
+ free (used_uids);
*uid = user_id;
return 0;
}