Commit 7c32a0b5 by Russell Belfer

Merge pull request #1300 from carlosmn/ref-leading-slash

Crash when resolving a ref starting with "/"
parents 5f9f69d9 e5ef0f18
......@@ -1691,6 +1691,11 @@ int git_reference__normalize_name(
segments_count++;
}
/* This means that there's a leading slash in the refname */
if (segment_len == 0 && segments_count == 0) {
goto cleanup;
}
if (current[segment_len] == '\0')
break;
......
......@@ -10,6 +10,8 @@ void test_refs_isvalidname__can_detect_invalid_formats(void)
cl_assert_equal_i(false, git_reference_is_valid_name("_NO_LEADING_UNDERSCORE"));
cl_assert_equal_i(false, git_reference_is_valid_name("HEAD/aa"));
cl_assert_equal_i(false, git_reference_is_valid_name("lower_case"));
cl_assert_equal_i(false, git_reference_is_valid_name("/stupid/name/master"));
cl_assert_equal_i(false, git_reference_is_valid_name("/"));
cl_assert_equal_i(false, git_reference_is_valid_name(""));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment