From: lidongyan <502024330056@smail.nju.edu.cn> Date: Sat, 14 Jun 2025 15:50:35 GMT Subject: Re: [PATCH] Allocate msg only after fatal checks to avoid leaks Message-ID: <089E9F89-5B21-4035-B500-8255622DA92A@smail.nju.edu.cn> In-Reply-To: Junio C Hamano writes: > > lidongyan <502024330056@smail.nju.edu.cn> writes: > >> Alex via GitGitGadget writes: >>> >>> From: jinyaoguo >>> >>> In parse_reuse_arg, we previously called xmalloc and strbuf_init >>> before resolving the ref and reading the object, leading to a >>> leaked msg on die() paths. This change moves the allocation of >> >> A memory leak on the die() path shouldn't be considered a real leak, >> right? Since the OS will clean up all memory once the process >> terminates, explicitly freeing msg isn't necessary in this case. > > It may not matter in practice, but I think the leak checking > machinery like sanitizers would still complain, so I view efforts on > plugging such leaks in the error code paths more about decluttering > the leak checker output to help us spot the real leaks. Makes sense. However, inserting a free-like statement in die() would be messier than using goto, since each die() has a unique message and we need to free stuff at each die().