Fix: getgrnam is not MT-Safe, use getgrnam_r
[lttng-tools.git] / src / bin / lttng-sessiond / health.c
index e8c42e4bd7fa6f2b8b7394e9af43461be4b26fb4..9474a8560a7b540fd3bb22284300cee6f64c28be 100644 (file)
@@ -95,8 +95,15 @@ static void *thread_manage_health(void *data)
 
        if (is_root) {
                /* lttng health client socket path permissions */
-               ret = chown(config.health_unix_sock_path.value, 0,
-                               utils_get_group_id(config.tracing_group_name.value));
+               gid_t gid;
+
+               ret = utils_get_group_id(config.tracing_group_name.value, true, &gid);
+               if (ret) {
+                       /* Default to root group. */
+                       gid = 0;
+               }
+
+               ret = chown(config.health_unix_sock_path.value, 0, gid);
                if (ret < 0) {
                        ERR("Unable to set group on %s", config.health_unix_sock_path.value);
                        PERROR("chown");
@@ -265,7 +272,7 @@ bool launch_health_management_thread(void)
 
        notifiers = zmalloc(sizeof(*notifiers));
        if (!notifiers) {
-               goto error;
+               goto error_alloc;
        }
 
        sem_init(&notifiers->ready, 0, 0);
@@ -287,5 +294,6 @@ bool launch_health_management_thread(void)
        return true;
 error:
        cleanup_health_management_thread(notifiers);
+error_alloc:
        return false;
 }
This page took 0.024143 seconds and 4 git commands to generate.