diff --git a/src/weston-launch.c b/src/weston-launch.c index cb69968a3..6d1f7c3b2 100644 --- a/src/weston-launch.c +++ b/src/weston-launch.c @@ -84,11 +84,18 @@ read_groups(void) gid_t *groups; n = getgroups(0, NULL); + + if (n < 0) { + fprintf(stderr, "Unable to retrieve groups: %m\n"); + return NULL; + } + groups = malloc(n * sizeof(gid_t)); if (!groups) return NULL; if (getgroups(n, groups) < 0) { + fprintf(stderr, "Unable to retrieve groups: %m\n"); free(groups); return NULL; }