http-push: trim trailing newline from remote symref
commitf6786c8dcba34d0cea54a065efd79af678cb8dea
authorJeff King <peff@peff.net>
Tue, 13 Jan 2015 02:28:58 +0000 (12 21:28 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Jan 2015 18:28:02 +0000 (14 10:28 -0800)
treebeb04e01913421fe714de1b937ba90e612db7c19
parent3c84ac86fc896c108b789b8eb26b169cc0e8088a
http-push: trim trailing newline from remote symref

When we fetch a symbolic ref file from the remote, we get
the whole string "ref: refs/heads/master\n", recognize it by
skipping past the "ref: ", and store the rest. We should
chomp the trailing newline.

This bug was introduced in ae021d8 (use skip_prefix to avoid
magic numbers, 2014-06-18), which did not notice that the
length computation fed to xmemdupz was quietly tweaked by 1
to account for this.

We can solve it by explicitly trimming the newline, which is
more obvious. Note that we use strbuf_rtrim here, which will
actually cut off any trailing whitespace, not just a single
newline. This is a good thing, though, as it makes our
parsing more liberal (and spaces are not valid in refnames
anyway).

Signed-off-by: Jeff King <peff@peff.net>
Tested-by: Kyle J. McKay <mackyle@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
http-push.c