Message ID | pull.1397.git.git.1671151402532.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | bisect: remove check for fp and move the goto label after the fclose | expand |
"Rose via GitGitGadget" <gitgitgadget@gmail.com> writes: > From: Seija Kijin <doremylover123@gmail.com> > > The fp check in these function are only relevant if goto has been taken. > > Because of this, we should move the label so that fclose is not called. > > This is because the goto is taken when fp is 0 anyway. It may happen to be so with today's code, but for the health of the code in the longer term, I do not think this patch is a good idea. We may add more "check error and jump to the label to clean it up" exit paths to these functions, and change to add such exit paths would essentially need to revert this change. By the way, I do not know if this is something GGG end-users can fix, or requires a fix in GGG itself, but somebody keeps adding an e-mail address in the @users.noreply.github.com domain to the Cc: field of these patches. For folks whose work is GitHub only, it might be fine to declare "this user only has e-mail-address-looking string but does not receive e-mail at all", but as working with GGG is all about following e-mail based workflow, such an address should be added to patch e-mails sent to the list this say. Thanks.
diff --git a/builtin/bisect.c b/builtin/bisect.c index cc9483e8515..2e5dbc8be3b 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -316,9 +316,9 @@ static int bisect_write(const char *state, const char *rev, if (!nolog) fprintf(fp, "git bisect %s %s\n", state, rev); + fclose(fp); + finish: - if (fp) - fclose(fp); strbuf_release(&tag); return res; } @@ -484,9 +484,9 @@ static int get_terms(struct bisect_terms *terms) strbuf_getline_lf(&str, fp); terms->term_good = strbuf_detach(&str, NULL); + fclose(fp); + finish: - if (fp) - fclose(fp); strbuf_release(&str); return res; }