Duy Nguyen <pclo...@gmail.com> writes: >>> - } >>> + if (old->path && old->name && >>> + !file_exists(git_path("%s", old->path)) && >>> + file_exists(git_path("logs/%s", old->path))) >>> + remove_path(git_path("logs/%s", old->path)); >> >> Hmph. Is this conversion safe? >> >> This adds three uses of the round-robin path buffer; if a caller of >> this function used two or more path buffers obtained from >> get_pathname() and expected their contents to remain stable across >> the call to this, it will silently break. > > three round-robin buffers but not all required at the same time, once > the first file_exists() returns the first round-robin buffer could be > free, and remove_path() calls git_path again, not reusing the result > from the second file_exists, so the second buffer is free to go too.
I know these three callers to git_path() will not step on each other's toes. But that is not the question I asked. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html