Skip to content
  • Jeff King's avatar
    remote-testsvn: fix unitialized variable · bfae342c
    Jeff King authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    In remote-test-svn, there is a parse_rev_note function to
    parse lines of the form "Revision-number" from notes. If it
    finds such a line and parses it, it returns 0, copying the
    value into a "struct rev_note". If it finds an entry that is
    garbled or out of range, it returns -1 to signal an error.
    
    However, if it does not find any "Revision-number" line at
    all, it returns success but does not put anything into the
    rev_note. So upon a successful return, the rev_note may or
    may not be initialized, and the caller has no way of
    knowing.
    
    gcc does not usually catch the use of the unitialized
    variable because the conditional assignment happens in a
    separate function from the point of use. However, when
    compiling with -O3, gcc will inline parse_rev_note and
    notice the problem.
    
    We can fix it by returning "-1" when no note is found (so on
    a zero return, we always found a valid value).
    
    Signed-off-by: default avatarJeff King <peff@peff.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    bfae342c