read_revisions_from_stdin: make copies for handle_revision_arg
commit70d26c6e76d91c04ec53001a21f405b9883e3e3f
authorThomas Rast <trast@inf.ethz.ch>
Tue, 16 Apr 2013 09:57:45 +0000 (16 11:57 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 16 Apr 2013 18:17:48 +0000 (16 11:17 -0700)
tree5e125bd4e64bc924c39fe0b70ef69cb336f7d784
parent7e2010537e96d0a1144520222f20ba1dc3d61441
read_revisions_from_stdin: make copies for handle_revision_arg

read_revisions_from_stdin() has passed pointers to its read buffer
down to handle_revision_arg() since its inception way back in 42cabc3
(Teach rev-list an option to read revs from the standard input.,
2006-09-05).  Even back then, this was a bug: through
add_pending_object, the argument was recorded in the object_array's
'name' field.

Fix it by making a copy whenever read_revisions_from_stdin() passes an
argument down the callchain.  The other caller runs handle_revision_arg()
on argv[], where it would be redundant to make a copy.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
revision.c