]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
Add the return value fts_open check
authorIvana Hutarova Varekova <varekova@redhat.com>
Fri, 12 Nov 2010 08:06:46 +0000 (09:06 +0100)
committerJan Safranek <jsafrane@redhat.com>
Mon, 15 Nov 2010 08:43:50 +0000 (09:43 +0100)
This patch adds return value checks to two occurrences of fts_open command calls

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
src/api.c

index 1d2d1118b509b3ff49d26643fa6b979bca4b68bb..a971ecd10f3a8f8c7e1caae53c7b5ca8c27e83ad 100644 (file)
--- a/src/api.c
+++ b/src/api.c
@@ -158,6 +158,10 @@ static int cg_chown_recursive(char **path, uid_t owner, gid_t group)
        cgroup_dbg("chown: path is %s\n", *path);
        fts = fts_open(path, FTS_PHYSICAL | FTS_NOCHDIR |
                                FTS_NOSTAT, NULL);
+       if (fts == NULL) {
+               last_errno = errno;
+               return ECGOTHER;
+       }
        while (1) {
                FTSENT *ent;
                ent = fts_read(fts);
@@ -2830,6 +2834,10 @@ int cgroup_walk_tree_begin(const char *controller, const char *base_path,
 
        entry->fts = fts_open(cg_path, FTS_LOGICAL | FTS_NOCHDIR |
                                FTS_NOSTAT, NULL);
+       if (entry->fts == NULL) {
+               last_errno = errno;
+               return ECGOTHER;
+       }
        ent = fts_read(entry->fts);
        if (!ent) {
                cgroup_dbg("fts_read failed\n");