On 26/08/14 11:23, Jeff King wrote: > The log-tree code keeps a "struct decoration" hash to show > text decorations for each commit during log traversals. It > makes this available to other files by providing global > access to the hash. This can result in other code adding > entries that do not conform to what log-tree expects. > > For example, the bisect code adds its own "dist" > decorations to be shown. Originally the bisect code was > correct, but when the name_decoration code grew a new field > in eb3005e (commit.h: add 'type' to struct name_decoration, > 2010-06-19), the bisect code was not updated. As a result, > the log-tree code can access uninitialized memory and even > segfault. > > We can fix this by making name_decoration's adding function > public. If all callers use it, then any changes to structi s/structi/struct/ > initialization only need to happen in one place (and because > the members come in as parameters, the compiler can notice a > caller who does not supply enough information). > > As a bonus, this also means that the decoration hashes > created by the bisect code will use less memory (previously > we over-allocated space for the distance integer, but not we s/not/now/ > format it into a temporary buffer and copy it to the final > flex-array). > > Signed-off-by: Jeff King <peff@xxxxxxxx> ATB, Ramsay Jones -- 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