Skip to content
  • Jeff King's avatar
    decorate: add clear_decoration() function · 77186824
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    There's not currently any way to free the resources associated with a
    decoration struct. As a result, we have several memory leaks which
    cannot easily be plugged.
    
    Let's add a "clear" function and make use of it in the example code of
    t9004. This removes the only leak from that script, so we can mark it as
    passing the leak sanitizer.
    
    Curiously this leak is found only when running SANITIZE=leak with clang,
    but not with gcc.  But it is a bog-standard leak: we allocate some
    memory in a local variable struct, and then exit main() without
    releasing it. I'm not sure why gcc doesn't find it. After this
    patch, both compilers report it as leak-free.
    
    Note that the clear function takes a callback to free the individual
    entries. That's not needed for our example (which is just decorating
    with ints), but will be for real callers.
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    77186824