From: Rob Bradford <[email protected]>

This also avoids us passing (size_t)(-1 * sizeof(gid_t)) into malloc
---
 src/weston-launch.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/weston-launch.c b/src/weston-launch.c
index cb69968..6d1f7c3 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;
        }
-- 
1.7.11.7

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to