diff --git a/refs.c b/refs.c index 20e2bf18c9..82e4842a36 100644 --- a/refs.c +++ b/refs.c @@ -153,6 +153,7 @@ int check_refname_format(const char *refname, int flags) const __m128i tilde_lb = _mm_set1_epi8('~' - 1); int component_count = 0; + int orig_flags = flags; if (refname[0] == 0 || refname[0] == '/') { /* entirely empty ref or initial ref component */ @@ -178,7 +179,7 @@ int check_refname_format(const char *refname, int flags) * End-of-page; fall back to slow method for * this entire ref. */ - return check_refname_format_bytewise(refname, flags); + return check_refname_format_bytewise(refname, orig_flags); tmp = _mm_loadu_si128((__m128i *)cp); tmp1 = _mm_loadu_si128((__m128i *)(cp + 1)); diff --git a/t/valgrind/default.supp b/t/valgrind/default.supp index 332ab1a3b3..9d51c92b74 100644 --- a/t/valgrind/default.supp +++ b/t/valgrind/default.supp @@ -50,10 +50,17 @@ fun:copy_ref } { - ignore-sse-check_refname_format + ignore-sse-check_refname_format-addr Memcheck:Addr8 fun:check_refname_format - fun:cmd_check_ref_format - fun:handle_builtin - fun:main +} +{ + ignore-sse-check_refname_format-cond + Memcheck:Cond + fun:check_refname_format +} +{ + ignore-sse-check_refname_format-value + Memcheck:Value8 + fun:check_refname_format }