Skip to content

Commit

Permalink
Merge pull request #3365 from kolyshkin/checkPropertyName-speedup
Browse files Browse the repository at this point in the history
libct/specconv: checkPropertyName speedup
  • Loading branch information
AkihiroSuda authored Feb 17, 2022
2 parents c648753 + 376c988 commit 2436322
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
6 changes: 4 additions & 2 deletions libcontainer/specconv/spec_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -538,8 +538,10 @@ func checkPropertyName(s string) error {
if len(s) < 3 {
return errors.New("too short")
}
// Check ASCII characters rather than Unicode runes.
for _, ch := range s {
// Check ASCII characters rather than Unicode runes,
// so we have to use indexes rather than range.
for i := 0; i < len(s); i++ {
ch := s[i]
if (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') {
continue
}
Expand Down
4 changes: 2 additions & 2 deletions libcontainer/specconv/spec_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -759,7 +759,7 @@ func TestInitSystemdProps(t *testing.T) {
}
}

func TestIsValidName(t *testing.T) {
func TestCheckPropertyName(t *testing.T) {
testCases := []struct {
in string
valid bool
Expand All @@ -784,7 +784,7 @@ func TestIsValidName(t *testing.T) {
}
}

func BenchmarkIsValidName(b *testing.B) {
func BenchmarkCheckPropertyName(b *testing.B) {
for i := 0; i < b.N; i++ {
for _, s := range []string{"", "xx", "xxx", "someValidName", "A name", "Кир", "მადლობა", "合い言葉"} {
_ = checkPropertyName(s)
Expand Down

0 comments on commit 2436322

Please sign in to comment.