[PATCH v4 02/23] refname_is_safe(): correct docstring
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Jan 6, 2017, 16:22 UTC
- Message-ID
- <bda5573d25412123683c36c2ea6669aa6f380c61.1483719289.git.mhagger@alum.mit.edu>
- In-Reply-To
- <cover.1483719289.git.mhagger@alum.mit.edu>
The behavior of refname_is_safe() was changed in
e40f355 "refname_is_safe(): insist that the refname already be normalized", 2016-04-27
without a corresponding update to its docstring. The function is in fact stricter than documented, because it now insists that the result of normalizing the part of a refname following "refs/" is identical to that part of the original refname. Fix the docstring.
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> --- refs/refs-internal.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/refs/refs-internal.h b/refs/refs-internal.h index 708b260..dc81acc 100644 --- a/refs/refs-internal.h +++ b/refs/refs-internal.h @@ -62,11 +62,12 @@ * This function does not check that the reference name is legal; for * that, use check_refname_format(). * - * We consider a refname that starts with "refs/" to be safe as long - * as any ".." components that it might contain do not escape "refs/". - * Names that do not start with "refs/" are considered safe iff they - * consist entirely of upper case characters and '_' (like "HEAD" and - * "MERGE_HEAD" but not "config" or "FOO/BAR"). + * A refname that starts with "refs/" is considered safe iff it + * doesn't contain any "." or ".." components or consecutive '/' + * characters, end with '/', or (on Windows) contain any '\' + * characters. Names that do not start with "refs/" are considered + * safe iff they consist entirely of upper case characters and '_' + * (like "HEAD" and "MERGE_HEAD" but not "config" or "FOO/BAR"). */ int refname_is_safe(const char *refname);
-- 2.9.3