[
https://issues.apache.org/jira/browse/DAFFODIL-1704?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dave Thompson reopened DAFFODIL-1704:
-------------------------------------
Verified the specified commit (commit d5c884869e88a7d45e5ae21fd254d7166111d444)
is included in the latest pull from the daffodil repository.
Verified, via review, changes identified in the commit comment were
implemented.
Verified the affected daffodil subproject sbt test suites executed
successfully, including the added tests.
However, the disv6entitystatepdu.xsd schema failed to compile/save to a
parser.bin file during the weekend full nightly performance run.
[error] Schema Definition Error: Number of bits 64 out of range for binary
xs:unsignedInt, must be between 1 and 32 bits.
Schema context: Parameter_Value Location line 117 column 16 in
file:/home/dfdl/dfdlTestData/data-formats/disv6/schema/disv6entitystatepdu.xsd
*Note:* Get the same result using the nightly run schema and the
disv6entitystatepdu.xsd schema from the dfdl-regression-test repo.
Reopening this ticket.
> PE undetected - Binary number parsers are missing checks for bitLength
> ----------------------------------------------------------------------
>
> Key: DAFFODIL-1704
> URL: https://issues.apache.org/jira/browse/DAFFODIL-1704
> Project: Daffodil
> Issue Type: Bug
> Components: Back End, General
> Affects Versions: 2.0.0
> Reporter: Elizabeth Fahl
> Assignee: Mike McGann
> Priority: Critical
> Fix For: 3.5.0
>
>
> This was discussed in a review of boolean parser and unparser, which have a
> check for bitLength that the binary number parsers do not. These checks would
> verify that bitLength falls within the accepted range for it's type as noted
> in 12.3.7.2.1 in the spec. It also needs to be determined if this check would
> be better in an evaluatable so it could be done at compile time.
> The check in BinaryBooleanParsers.scala:
> {code}
> val nBits = getBitLength(start)
> if (nBits < 1 || nBits > 32) {
> PE(start, "Number of bits %d out of range, must be between 1 and 32
> bits.", nBits)
> return
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)