From: Eric Sunshine Date: Sun, 13 Dec 2015 06:15:02 GMT Subject: Re: [PATCH/RFC 08/10] ref-filter: introduce remote_ref_atom_parser() Message-ID: In-Reply-To: On Sun, Dec 13, 2015 at 1:02 AM, Karthik Nayak wrote: > On Sun, Dec 13, 2015 at 6:23 AM, Eric Sunshine wrote: >> On Wed, Nov 11, 2015 at 2:44 PM, Karthik Nayak wrote: >>> + if (!num_ours && !num_theirs) >>> + *s = ""; >>> + else if (!num_ours) >>> + *s = xstrfmt("[behind %d]", num_theirs); >>> + else if (!num_theirs) >>> + *s = xstrfmt("[ahead %d]", num_ours); >>> + else >>> + *s = xstrfmt("[ahead %d, behind %d]", >>> + num_ours, num_theirs); >> >> Tangent: These xstrfmt()'d strings are getting leaked, right? Is that >> something that we need to worry about (if, for instance, a repository >> contains a lot of tracking refs)? Should there be a NEEDSWORK comment >> here regarding the issue? > > This is sort of a problem with most of the values in ref-filter, we dynamically > allocate memory and do not free it, since the program exits soon after and > we leave it to the Operating System to do the garbage collection. I'm not worried about memory dynamically allocated for the used_atom[] array being leaked (and cleaned up automatically at program exit), but rather about memory being leaked for each processed reference, which might become substantial for a project with a lot of references. > Not sure if we'd want to work on this though. It's likely outside the scope of the current patch series anyhow, and probably not something that needs to be tackled right away (or perhaps ever), which is why a NEEDSWORK comment might be appropriate, as a reminder that the situation could be improved.