• Jeff King's avatar
    avoid segfaults on parse_object failure · 75a95490
    Jeff King authored
    Many call-sites of parse_object assume that they will get a
    non-NULL return value; this is not the case if we encounter
    an error while parsing the object.
    
    This patch adds a wrapper function around parse_object that
    handles dying automatically, and uses it anywhere we
    immediately try to access the return value as a non-NULL
    pointer (i.e., anywhere that we would currently segfault).
    
    This wrapper may also be useful in other places. The most
    obvious one is code like:
    
      o = parse_object(sha1);
      if (!o)
    	  die(...);
    
    However, these should not be mechanically converted to
    parse_object_or_die, as the die message is sometimes
    customized. Later patches can address these sites on a
    case-by-case basis.
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    75a95490
object.c 6.6 KB