commit af392d1a764d7420c7b05bb9e13d7766a5979894
Author:     Hiltjo Posthuma <[email protected]>
AuthorDate: Sun May 7 13:50:26 2017 +0200
Commit:     Hiltjo Posthuma <[email protected]>
CommitDate: Sun May 7 13:50:26 2017 +0200

    libutil: fix leaks

diff --git a/libutil/cp.c b/libutil/cp.c
index 9bb517a..a8db0a2 100644
--- a/libutil/cp.c
+++ b/libutil/cp.c
@@ -79,6 +79,7 @@ cp(const char *s1, const char *s2, int depth)
                if (mkdir(s2, st.st_mode) < 0 && errno != EEXIST) {
                        weprintf("mkdir %s:", s2);
                        cp_status = 1;
+                       closedir(dp);
                        return 0;
                }
 
@@ -122,15 +123,18 @@ cp(const char *s1, const char *s2, int depth)
                                if (unlink(s2) < 0 && errno != ENOENT) {
                                        weprintf("unlink %s:", s2);
                                        cp_status = 1;
+                                       fclose(f1);
                                        return 0;
                                } else if (!(f2 = fopen(s2, "w"))) {
                                        weprintf("fopen %s:", s2);
                                        cp_status = 1;
+                                       fclose(f1);
                                        return 0;
                                }
                        } else {
                                weprintf("fopen %s:", s2);
                                cp_status = 1;
+                               fclose(f1);
                                return 0;
                        }
                }

Reply via email to