fsmonitor: fix leak of warning message
The fsm_settings__get_incompatible_msg() function returns an allocated string. So we can't pass its result directly to warning(); we must hold on to the pointer and free it to avoid a leak. The leak here is small and fixed size, but Coverity complained, and presumably SANITIZE=leaks would eventually. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
5aa9e3262e
commit
c4f9490790
@ -309,8 +309,10 @@ void refresh_fsmonitor(struct index_state *istate)
|
|||||||
enum fsmonitor_reason reason = fsm_settings__get_reason(r);
|
enum fsmonitor_reason reason = fsm_settings__get_reason(r);
|
||||||
|
|
||||||
if (!warn_once && reason > FSMONITOR_REASON_OK) {
|
if (!warn_once && reason > FSMONITOR_REASON_OK) {
|
||||||
|
char *msg = fsm_settings__get_incompatible_msg(r, reason);
|
||||||
warn_once = 1;
|
warn_once = 1;
|
||||||
warning("%s", fsm_settings__get_incompatible_msg(r, reason));
|
warning("%s", msg);
|
||||||
|
free(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fsm_mode <= FSMONITOR_MODE_DISABLED ||
|
if (fsm_mode <= FSMONITOR_MODE_DISABLED ||
|
||||||
|
Reference in New Issue
Block a user