Merge branch 'jc/rev-parse-argh-dashed-multi-words' into maint

* jc/rev-parse-argh-dashed-multi-words:
  update-index: fix segfault with missing --cacheinfo argument
This commit is contained in:
Junio C Hamano 2014-06-12 12:17:57 -07:00
commit 9a597edc83
2 changed files with 7 additions and 0 deletions

View File

@ -637,6 +637,9 @@ static int parse_new_style_cacheinfo(const char *arg,
unsigned long ul; unsigned long ul;
char *endp; char *endp;
if (!arg)
return -1;
errno = 0; errno = 0;
ul = strtoul(arg, &endp, 8); ul = strtoul(arg, &endp, 8);
if (errno || endp == arg || *endp != ',' || (unsigned int) ul != ul) if (errno || endp == arg || *endp != ',' || (unsigned int) ul != ul)

View File

@ -29,6 +29,10 @@ test_expect_success 'update-index -h with corrupt index' '
test_i18ngrep "[Uu]sage: git update-index" broken/usage test_i18ngrep "[Uu]sage: git update-index" broken/usage
' '
test_expect_success '--cacheinfo complains of missing arguments' '
test_must_fail git update-index --cacheinfo
'
test_expect_success '--cacheinfo does not accept blob null sha1' ' test_expect_success '--cacheinfo does not accept blob null sha1' '
echo content >file && echo content >file &&
git add file && git add file &&