summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2018-06-01 11:33:19 +0900
committerLibravatar Junio C Hamano <gitster@pobox.com>2018-06-01 11:46:07 +0900
commitc3072c6e4db9130d0920bc8034f197624874de3d (patch)
treec10134658e193a3b684326d3189f9ba7c91e6eac
parentsubmodule: convert push_unpushed_submodules to take a struct refspec (diff)
downloadtgif-c3072c6e4db9130d0920bc8034f197624874de3d.tar.xz
refspec-api: avoid uninitialized field in refspec item
When parse_refspec() function was created at 3eec3700 ("refspec: factor out parsing a single refspec", 2018-05-16) to take a caller supplied piece of memory to fill parsed refspec_item, it forgot that a refspec without colon must set item->dst to NULL to let the users of refspec know that the result of the fetch does not get stored in an ref on our side. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--refspec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/refspec.c b/refspec.c
index 97e76e8b1d..6e45365a23 100644
--- a/refspec.c
+++ b/refspec.c
@@ -48,6 +48,8 @@ static int parse_refspec(struct refspec_item *item, const char *refspec, int fet
size_t rlen = strlen(++rhs);
is_glob = (1 <= rlen && strchr(rhs, '*'));
item->dst = xstrndup(rhs, rlen);
+ } else {
+ item->dst = NULL;
}
llen = (rhs ? (rhs - lhs - 1) : strlen(lhs));