From: Junio C Hamano Date: Thu, 16 Jun 2022 04:10:00 GMT Subject: Re: [PATCH 02/11] fsmonitor: avoid memory leak in `fsm_settings__get_incompatible_msg()` Message-ID: In-Reply-To: <6d409ad45867aa5193c15828614e865e53ac0c57.1655336146.git.gitgitgadget@gmail.com> "Johannes Schindelin via GitGitGadget" writes: > From: Johannes Schindelin > > Reported by Coverity. > > Signed-off-by: Johannes Schindelin > --- > fsmonitor-settings.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/fsmonitor-settings.c b/fsmonitor-settings.c > index 658cb79da01..464424a1e92 100644 > --- a/fsmonitor-settings.c > +++ b/fsmonitor-settings.c > @@ -202,11 +202,15 @@ char *fsm_settings__get_incompatible_msg(const struct repository *r, > case FSMONITOR_REASON_OK: > goto done; Obviously correct, but the placement of these ... > - case FSMONITOR_REASON_BARE: > + case FSMONITOR_REASON_BARE: { > + char *cwd = xgetcwd(); > + > strbuf_addf(&msg, > _("bare repository '%s' is incompatible with fsmonitor"), > - xgetcwd()); > + cwd); > + free(cwd); > goto done; > + } ... braces are misleading and confusing. > > case FSMONITOR_REASON_ERROR: > strbuf_addf(&msg,