Function file_exists() needs a absolute full path, but we are using
current_entire_path which is not. It will get the wrong result from
file_exists() and case Segmentation fault when we fopen a non-exist
file and try to fscanf from it.

Signed-off-by: Qiang Huang <h.huangqi...@huawei.com>
---
 src/lxc/cgroup.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/lxc/cgroup.c b/src/lxc/cgroup.c
index 4da0e07..34bf126 100644
--- a/src/lxc/cgroup.c
+++ b/src/lxc/cgroup.c
@@ -958,12 +958,20 @@ struct cgroup_process_info *lxc_cgroupfs_create(const 
char *name, const char *pa
                                goto cleanup_from_error;
                        } else if (r == 0) {
                                /* successfully created */
+                               char *full_path = NULL;
                                r = lxc_grow_array((void 
***)&info_ptr->created_paths, &info_ptr->created_paths_capacity, 
info_ptr->created_paths_count + 1, 8);
                                if (r < 0)
                                        goto cleanup_from_error;
                                
info_ptr->created_paths[info_ptr->created_paths_count++] = current_entire_path;
+
+                               full_path = cgroup_to_absolute_path(
+                                               
info_ptr->designated_mount_point,
+                                               current_entire_path, NULL);
+                               if (!full_path)
+                                       goto cleanup_from_error;
                                
setup_cpuset_if_needed(info_ptr->hierarchy->subsystems,
-                                               current_entire_path);
+                                               full_path);
+                               free(full_path);
                        } else {
                                /* if we didn't create the cgroup, then we have 
to make sure that
                                 * further cgroups will be created properly
-- 
1.8.3

_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to