Merge branch 'jc/rev-parse-argh-dashed-multi-words' into maint
authorJunio C Hamano <gitster@pobox.com>
Thu, 12 Jun 2014 19:17:57 +0000 (12:17 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 12 Jun 2014 19:17:57 +0000 (12:17 -0700)
* jc/rev-parse-argh-dashed-multi-words:
update-index: fix segfault with missing --cacheinfo argument

builtin/update-index.c
t/t2107-update-index-basic.sh
index ba54e19cd559018fcca52b5251bffa78165e16a3..ebea285e1b6863bdb8e4b2a30d1487d18ecc5084 100644 (file)
@@ -637,6 +637,9 @@ static int parse_new_style_cacheinfo(const char *arg,
        unsigned long ul;
        char *endp;
 
+       if (!arg)
+               return -1;
+
        errno = 0;
        ul = strtoul(arg, &endp, 8);
        if (errno || endp == arg || *endp != ',' || (unsigned int) ul != ul)
index fe2fb17102cdc17168ae2d683d7d51a0b3e3f3bc..1bafb9098c7fae33969e9231fbdee1c0370830a1 100755 (executable)
@@ -29,6 +29,10 @@ test_expect_success 'update-index -h with corrupt index' '
        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' '
        echo content >file &&
        git add file &&