Fixed SIGSEGV
This commit is contained in:
1 parent
f03882d3f4
commit
5b0019d50d
50 files changed
+1565
-821
No files matched your search
@@ -868,6 +868,9 @@ parent selector; conflicting parent references are rejected. Multiple independen
|
||||
root selectors are supported. Statements and selectors may precede or follow
|
||||
their targets. Decimal values retain the full `uint64_t` range and must fit the
|
||||
parent's bit width. Ranges are stored without expanding individual values.
|
||||
`SG_MUL_VAL_` headers, decimal bounds, and range lists are scanned iteratively,
|
||||
without regular expressions or a new statement-length limit. Long valid lists
|
||||
are preserved; malformed ranges and trailing text produce source-located errors.
|
||||
Malformed ranges, unresolved references, signed selectors, ambiguous implicit
|
||||
selectors, and dependency cycles produce `InvalidMultiplexing` diagnostics.
|
||||
Statement errors retain the `SG_MUL_VAL_` source line; graph and overlap errors
|
||||
@@ -1239,7 +1242,10 @@ Each statement must occupy one physical line, contain at least one integer/text
|
||||
pair, and end with a semicolon. Spaces and tabs are accepted between fields;
|
||||
descriptions may contain whitespace, semicolons, and empty text. Inside quoted
|
||||
text, escape a quote or a backslash with a preceding backslash; other escapes
|
||||
are rejected.
|
||||
are rejected. Headers, quoted descriptions, and pairs are scanned iteratively,
|
||||
without regular expressions or repeatedly removing the parsed prefix. Long
|
||||
valid descriptions and lists are preserved without a new length limit; malformed
|
||||
input returns the same source-located diagnostics as short statements.
|
||||
Keys are decimal integers in `INT64_MIN..UINT64_MAX`, with an optional minus
|
||||
sign; plus signs, fractions, hexadecimal numbers, exponents, and overflow are
|
||||
rejected. Keys never pass through `double`.
|
||||
@@ -1397,8 +1403,8 @@ When building a consumer separately, pass
|
||||
### Local core regression checks
|
||||
|
||||
Run `bash tests/run_core_ci.sh release` or `bash tests/run_core_ci.sh sanitize`
|
||||
to build the core archive with Qt 6.8.2, run all six core QtTest suites (parser,
|
||||
decoder, coverage, lifetime, validation, and pipeline/builder integration), and
|
||||
to build the core archive with Qt 6.8.2, run all seven core QtTest suites (parser,
|
||||
statement robustness, decoder, coverage, lifetime, validation, and pipeline/builder integration), and
|
||||
run both the qmake and standalone Qt-free tree tests. The sanitizer mode uses
|
||||
AddressSanitizer and UndefinedBehaviorSanitizer, with leak detection enabled by
|
||||
default and fatal sanitizer errors.
|
||||
@@ -1572,7 +1578,8 @@ floating-point values. Default application skips unrelated scopes, CAN ID
|
||||
normalization uses the validated identifier mask, and signal layout validation
|
||||
owns the length checks. Statement handlers continue to use `TypeFactory`.
|
||||
Core, adapter, example, and test C++ sources use explicit return types and contain
|
||||
no lambdas. Public metadata and parser-state comments use Doxygen descriptions.
|
||||
no lambdas. DBC statement parsing uses iterative scanners rather than regular
|
||||
expressions. Public metadata and parser-state comments use Doxygen descriptions.
|
||||
|
||||
See [tests/README.md](tests/README.md#extended-validation) for attribute boundary
|
||||
regressions, sanitizer commands, and the latest validation results.
|
||||
|
||||
Reference in new issue
Block a user