git-check-ref-format: reject funny ref names.
Update check_ref_format() function to reject ref names that: * has a path component that begins with a ".", or * has a double dots "..", or * has ASCII control character, "~", "^", ":" or SP, anywhere, or * ends with a "/". Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure that newly created refs are well-formed. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
@ -53,6 +53,8 @@ if [ -e "$GIT_DIR/refs/tags/$name" -a -z "$force" ]; then
|
||||
die "tag '$name' already exists"
|
||||
fi
|
||||
shift
|
||||
git-check-ref-format "tags/$name" ||
|
||||
die "we do not like '$name' as a tag name."
|
||||
|
||||
object=$(git-rev-parse --verify --default HEAD "$@") || exit 1
|
||||
type=$(git-cat-file -t $object) || exit 1
|
||||
|
||||
Reference in New Issue
Block a user