On Fri, May 01, 2015 at 12:28:27PM -0700, Stefan Beller wrote: > It's safe to free the char pointer `p` unconditionally. > > The pointer is assigned just 2 lines earlier as a return from > prefix_path, which allocates new memory for its return value. > > Then it is used in checkout_file, which passes the pointer on to > cache_name_pos and write_tempfile_record, both of which do not store > the pointer in any permanent record. > > So the condition on when to free the pointer is just "always". That of course makes me wonder why somebody would write this in the first place. :) It looks like it comes from be65e7d (Fix users of prefix_path() to free() only when necessary, 2006-05-07), which claims that prefix_path sometimes does not allocate. When did that change? Looks like maybe d089eba (setup: sanitize absolute and funny paths in get_pathspec(), 2008-01-28), but it certainly is the case now. Probably all of the other sites touched by be65e7d could use the same treatment. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html