stevedlawrence opened a new pull request #517: URL: https://github.com/apache/daffodil/pull/517
With infix separators, we only consume a separator after we have parsed the first field, i.e. when groupPos > 1. The sequence logic has a condition that prevents groupPos from being incremented when a zero-length field is parsed when the field was positional. But this means that if the first field is zero-length, and this condition was hit, we do not increment groupPos, we never consume the first infix separator, and thus we parse the same zero-length data infinitely, causing a hang. To fix this, we need to remove the isPositional condition that prevented the groupPos from being incremented when zero length separated field was parsed. Whether or not the field is positional should not matter--if a separated field was successfully parsed, even if it was zero length, we must still increment groupPos for the following separators to be parsed correctly. DAFFODIL-2487 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
