diff --git a/src/config.c b/src/config.c index 1306033..88cc5dd 100644 --- a/src/config.c +++ b/src/config.c @@ -326,7 +326,7 @@ int config_group_task_perm(char *perm_type, char *value, int flag) long val = atoi(value); char buffer[CGROUP_BUFFER_LEN]; struct cgroup *config_cgroup; - int table_index; + int table_index, ret; switch (flag) { case CGROUP: @@ -370,10 +370,10 @@ int config_group_task_perm(char *perm_type, char *value, int flag) if (!group) goto group_task_error; - getgrnam_r(value, group, buffer, + ret = getgrnam_r(value, group, buffer, CGROUP_BUFFER_LEN, &group_buffer); - if (group_buffer == NULL) { + if (ret != 0 || group_buffer == NULL) { free(group); goto group_task_error; } @@ -439,7 +439,7 @@ int config_group_admin_perm(char *perm_type, char *value, int flag) struct cgroup *config_cgroup; long val = atoi(value); char buffer[CGROUP_BUFFER_LEN]; - int table_index; + int table_index, ret; switch (flag) { case CGROUP: @@ -482,10 +482,10 @@ int config_group_admin_perm(char *perm_type, char *value, int flag) if (!group) goto admin_error; - getgrnam_r(value, group, buffer, + ret = getgrnam_r(value, group, buffer, CGROUP_BUFFER_LEN, &group_buffer); - if (group_buffer == NULL) { + if (ret != 0 || group_buffer == NULL) { free(group); goto admin_error; } diff --git a/src/daemon/cgrulesengd.c b/src/daemon/cgrulesengd.c index 4cef53e..90920d1 100644 --- a/src/daemon/cgrulesengd.c +++ b/src/daemon/cgrulesengd.c @@ -654,7 +654,7 @@ close: static int cgre_create_netlink_socket_process_msg(void) { - int sk_nl = 0, sk_unix = 0, sk_max; + int sk_nl = -1, sk_unix = -1, sk_max; struct sockaddr_nl my_nla; char buff[BUFF_SIZE]; int rc = -1;