diff options
author | Junio C Hamano <gitster@pobox.com> | 2024-04-15 23:11:42 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-04-15 23:11:43 +0200 |
commit | ce729ea9bab9d115bdd2343c3ebe361fc6fce2c4 (patch) | |
tree | d09ce094c7537be1dec21f5c650f46ad329f4fc5 /apply.c | |
parent | Merge branch 'rs/apply-lift-path-length-limit' (diff) | |
parent | apply: don't leak fd on fdopen() error (diff) | |
download | git-ce729ea9bab9d115bdd2343c3ebe361fc6fce2c4.tar.xz git-ce729ea9bab9d115bdd2343c3ebe361fc6fce2c4.zip |
Merge branch 'rs/apply-reject-fd-leakfix'
A file descriptor leak in an error codepath, used when "git apply
--reject" fails to create the *.rej file, has been corrected.
* rs/apply-reject-fd-leakfix:
apply: don't leak fd on fdopen() error
Diffstat (limited to 'apply.c')
-rw-r--r-- | apply.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -4665,8 +4665,11 @@ static int write_out_one_reject(struct apply_state *state, struct patch *patch) return error_errno(_("cannot open %s"), namebuf); } rej = fdopen(fd, "w"); - if (!rej) - return error_errno(_("cannot open %s"), namebuf); + if (!rej) { + error_errno(_("cannot open %s"), namebuf); + close(fd); + return -1; + } /* Normal git tools never deal with .rej, so do not pretend * this is a git patch by saying --git or giving extended |