Roman Dmytrenko created THRIFT-6012:
---------------------------------------
Summary: Fix inverted regexp.MatchString arguments and precompile
patterns in Go validator
Key: THRIFT-6012
URL: https://issues.apache.org/jira/browse/THRIFT-6012
Project: Thrift
Issue Type: Bug
Components: Go - Compiler
Reporter: Roman Dmytrenko
The Go struct validator generator has two bugs in vt.pattern handling:
1. Incorrect argument order - `regexp.MatchString(target, pattern)` swaps the
parameters. The correct signature is regexp.MatchString(pattern, s), so the
pattern must come first. This causes all vt.pattern validations to behave
incorrectly (matching the pattern against the pattern string rather than
against the field value).
2. Repeated regex compilation - regexp.MatchString compiles the pattern on
every call. For structs validated frequently (e.g., in a hot loop), this is
wasteful.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)