[ 
https://issues.apache.org/jira/browse/AVRO-4347?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ismaël Mejía resolved AVRO-4347.
--------------------------------
    Resolution: Duplicate

> [c++] Name validation permits a leading digit, yielding invalid generated 
> identifiers
> -------------------------------------------------------------------------------------
>
>                 Key: AVRO-4347
>                 URL: https://issues.apache.org/jira/browse/AVRO-4347
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: c++
>            Reporter: Ismaël Mejía
>            Priority: Major
>             Fix For: 1.13.0
>
>
> {{Name::check()}} in the C++ SDK ({{lang/c++/impl/Node.cc}}) validates the
> namespace and simple-name characters but permits a *leading digit* in the 
> simple
> name -- the first-character check does not enforce {{[A-Za-z_]}}. A type named
> e.g. {{9foo}} or {{123}} passes validation and is emitted verbatim as a C++
> identifier ({{struct 9foo { ... \} }}), which does not compile.
> Tighten {{Name::check()}} so the simple name matches the Avro grammar
> {{[A-Za-z_][A-Za-z0-9_]*}}, ensuring generated identifiers are always 
> well-formed,
> and add a test. (Related to AVRO-4312, which covers field names and enum 
> symbols.)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to