Fix validation crashing on empty enum in 2019-09 and 2020-12#734
Fix validation crashing on empty enum in 2019-09 and 2020-12#734
enum in 2019-09 and 2020-12#734Conversation
🤖 Augment PR SummarySummary: Updates the vendored Blaze engine to prevent validation crashes when an Changes:
Technical Notes: The empty- 🤖 Was this summary useful? React with 👍 or 👎 |
| if (visited.find(&target_schema) != visited.end()) { | ||
| return schema; // NOLINT(bugprone-return-const-ref-from-parameter) | ||
| } | ||
| return target_schema; |
There was a problem hiding this comment.
vendor/blaze/src/documentation/documentation.cc:595: resolve_ref returns the referenced schema and discards any sibling annotations on the $ref wrapper (e.g., title/description), which means walk_properties/walk_pattern_properties may omit property-level documentation metadata when schemas are written as $ref + annotations.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| auto ref_path{sourcemeta::core::JSON::make_array()}; | ||
| ref_path.push_back(make_path_segment("synthetic", "root")); | ||
| visited.emplace(&target_schema, | ||
| VisitedEntry{.identifier = next_identifier, |
There was a problem hiding this comment.
vendor/blaze/src/documentation/documentation.cc:1343-1345: VisitedEntry.identifier is set to next_identifier before walk_schema() consumes that value for the table identifier and then increments again for the first emitted row. If recursiveRef.identifier is meant to point at a target row identifier (as implied by the HTML rendering/target-collection logic), this looks like an off-by-one that could break recursive reference linking.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti jv@jviotti.com