]> granicus.if.org Git - sudo/commitdiff
Don't leak temp fd in sudo_edit_copy_tfiles().
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 25 Aug 2014 16:42:59 +0000 (10:42 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 25 Aug 2014 16:42:59 +0000 (10:42 -0600)
Fix fd leak in error path in sudo_edit_copy_tfiles().

src/sudo_edit.c

index c289edac04a37af06b3aa8ce4f953c04d090cc69..c1e85ece4bbed276c0d021f49235f6e405ac4039 100644 (file)
@@ -228,6 +228,8 @@ sudo_edit_create_tfiles(struct command_details *command_details,
                        sudo_warn("%s", tf[j].tfile);
                    else
                        sudo_warnx(U_("%s: short write"), tf[j].tfile);
+                   close(ofd);
+                   close(tfd);
                    debug_return_int(-1);
                }
            }
@@ -342,6 +344,7 @@ sudo_edit_copy_tfiles(struct command_details *command_details,
            sudo_warnx(U_("contents of edit session left in %s"), tf[i].tfile);
        }
        close(ofd);
+       close(tfd);
     }
     debug_return_int(errors);
 }