You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
3.2 KiB
100 lines
3.2 KiB
7 years ago
|
diff -up libcgroup-0.41/src/api.c.coverity libcgroup-0.41/src/api.c
|
||
|
--- libcgroup-0.41/src/api.c.coverity 2014-01-13 20:52:49.853838149 +0100
|
||
|
+++ libcgroup-0.41/src/api.c 2014-01-13 20:52:49.854838142 +0100
|
||
|
@@ -2791,7 +2791,6 @@ static int cgroup_create_template_group(
|
||
|
if (group_name == NULL) {
|
||
|
ret = ECGOTHER;
|
||
|
last_errno = errno;
|
||
|
- free(template_name);
|
||
|
goto end;
|
||
|
}
|
||
|
|
||
|
diff -up libcgroup-0.41/src/config.c.coverity libcgroup-0.41/src/config.c
|
||
|
--- libcgroup-0.41/src/config.c.coverity 2014-01-13 15:05:56.000000000 +0100
|
||
|
+++ libcgroup-0.41/src/config.c 2014-01-13 20:52:49.854838142 +0100
|
||
|
@@ -323,7 +323,7 @@ int config_group_task_perm(char *perm_ty
|
||
|
long val = atoi(value);
|
||
|
char buffer[CGROUP_BUFFER_LEN];
|
||
|
struct cgroup *config_cgroup;
|
||
|
- int table_index;
|
||
|
+ int table_index, ret;
|
||
|
|
||
|
switch (flag) {
|
||
|
case CGROUP:
|
||
|
@@ -367,10 +367,10 @@ int config_group_task_perm(char *perm_ty
|
||
|
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;
|
||
|
}
|
||
|
@@ -436,7 +436,7 @@ int config_group_admin_perm(char *perm_t
|
||
|
struct cgroup *config_cgroup;
|
||
|
long val = atoi(value);
|
||
|
char buffer[CGROUP_BUFFER_LEN];
|
||
|
- int table_index;
|
||
|
+ int table_index, ret;
|
||
|
|
||
|
switch (flag) {
|
||
|
case CGROUP:
|
||
|
@@ -479,10 +479,10 @@ int config_group_admin_perm(char *perm_t
|
||
|
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 -up libcgroup-0.41/src/daemon/cgrulesengd.c.coverity libcgroup-0.41/src/daemon/cgrulesengd.c
|
||
|
--- libcgroup-0.41/src/daemon/cgrulesengd.c.coverity 2014-01-13 15:05:56.000000000 +0100
|
||
|
+++ libcgroup-0.41/src/daemon/cgrulesengd.c 2014-01-13 20:52:49.854838142 +0100
|
||
|
@@ -646,7 +646,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;
|
||
|
@@ -784,9 +784,9 @@ static int cgre_create_netlink_socket_pr
|
||
|
}
|
||
|
|
||
|
close_and_exit:
|
||
|
- if (sk_nl > 0)
|
||
|
+ if (sk_nl > -1)
|
||
|
close(sk_nl);
|
||
|
- if (sk_unix > 0)
|
||
|
+ if (sk_unix > -1)
|
||
|
close(sk_unix);
|
||
|
return rc;
|
||
|
}
|
||
|
diff -upr libcgroup-0.40.rc1.orig/src/tools/lscgroup.c libcgroup-0.40.rc1/src/tools/lscgroup.c
|
||
|
--- libcgroup-0.40.rc1.orig/src/tools/lscgroup.c 2013-05-21 15:36:04.000000000 +0200
|
||
|
+++ libcgroup-0.40.rc1/src/tools/lscgroup.c 2013-11-04 14:26:53.400473523 +0100
|
||
|
@@ -97,11 +97,11 @@ static int display_controller_data(char
|
||
|
if (ret != 0)
|
||
|
return ret;
|
||
|
|
||
|
- strncpy(cgroup_dir_path, info.full_path, FILENAME_MAX);
|
||
|
+ strncpy(cgroup_dir_path, info.full_path, FILENAME_MAX - 1);
|
||
|
/* remove problematic '/' characters from cgroup directory path*/
|
||
|
trim_filepath(cgroup_dir_path);
|
||
|
|
||
|
- strncpy(input_dir_path, input_path, FILENAME_MAX);
|
||
|
+ strncpy(input_dir_path, input_path, FILENAME_MAX - 1);
|
||
|
|
||
|
/* remove problematic '/' characters from input directory path*/
|
||
|
trim_filepath(input_dir_path);
|