Skip to content

Fix range checks and fail closed in the JSON config loader - #103

Open
aidangarske wants to merge 23 commits into
wolfSSL:masterfrom
aidangarske:fenrir-fixes-3873-3666-2441-2854
Open

aidangarske wants to merge 23 commits into
wolfSSL:masterfrom
aidangarske:fenrir-fixes-3873-3666-2441-2854

Conversation

@aidangarske

Copy link
Copy Markdown
Member

F-4277 - 2f81ddc - The JSON loader now rejects out-of-range uint64 values without relying on errno.

F-10488 - c0c9c4e - The JSON loader now rejects a leading minus sign in unsigned integer values.

F-4282 - aa12969 - The JSON loader now rejects out-of-range signed integer values without relying on errno.

F-4283 - 32ccd3f - The JSON loader now uses a wider accumulator so the uint32 range check works on 32-bit targets.

F-4278 - 72ac6a9 - CAN addresses are now range checked without relying on errno on 32-bit targets.

F-6687 - 8a83012 - A new test covers uint16 config value range rejection and its boundary.

F-3435 - 61d9d13 - The uint8 parse buffer is now large enough to accept hex and octal interface values.

F-4322 - 5639e98 - The JSON loader now rejects negative durations.

F-4565 - 8ad14c4 - The JSON loader now rejects an explicit LINK64 family when the address is not EUI-64 sized.

F-8780 - 3ae5e69 - A null service lookup result is now treated as item not found.

F-8781 - 441d30b - A null protocol lookup result is now treated as item not found.

F-3666 - 59cb6ec - A bitmask address is now right-justified by byte count, which prevents an out-of-bounds write.

F-3873 - ee177ee - The JSON loader now bounds prefix-bits to the address family width.

F-13290 - 7f6ac17 - The actions-update rejection now reports through the parser error-position path.

F-2441 - 1055271 - A default-mode JSON config load that fails after flushing now fails closed, leaving the config flushed with a REJECT default policy.

F-15478 - a8bf643 - Actions are now re-enabled when a LOAD_THEN_COMMIT load fails after the exchange.

F-2453 - e98a6fb - The JSON loader now parses AF_LOCAL path addresses, so a dump reloads symmetrically.

F-2854 - e7f4135 - An explicit tcplike-port-numbers setting now wins over the protocol default.

F-3873 - 4520110 - A generic LINK prefix-bits is now judged the same whether it appears before or after its address.

F-2453 - 686dc6d - AF_LOCAL addresses now defer to a registered handler, and the built-in path limit stays byte-aligned.

…e uint64 config values without relying on errno
… minus sign in unsigned integer config values
…e signed integer config values without relying on errno
…lator so the uint32 range check is live on 32-bit ABIs
…dresses without relying on errno on 32-bit ABIs
…int16 config value range rejection and boundary
…se buffer to accept hex and octal interface values
… LINK64 family when the address byte count is not EUI-64
…tmask address by byte count to prevent an out-of-bounds write
…to the address family width in the JSON loader
…s-update rejection through the parser error-position epilogue
… default-mode JSON config load fails after flushing
…s on a post-exchange LOAD_THEN_COMMIT failure
…h addresses so JSON dump and reload stay symmetric
…cplike-port-numbers setting over the protocol default
…NK prefix-bits the same before or after its address
…resses to a registered handler and keep the path limit byte-aligned
@aidangarske aidangarske self-assigned this Oct 23, 2026

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #103

Scan targets checked: wolfsentry-src, wolfsentry-bugs
Coverage: 1 of 2 in-scope changed file(s) opened by the reviewer; not opened: tests/unittests.c

Findings: 1
1 finding(s) posted as inline comments (see file-level comments below)

This review was generated automatically by Fenrir. Reported findings require changes before merge.

Review tier: Lite

…nfig value range limits from the conversion result type

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #103

Scan targets checked: wolfsentry-src, wolfsentry-bugs
Coverage: 1 of 1 in-scope changed file(s) opened by the reviewer

Findings: 1
1 finding(s) posted as inline comments (see file-level comments below)

This review was generated automatically by Fenrir. Reported findings require changes before merge.

Review tier: Lite

@wolfSSL-Fenrir-bot wolfSSL-Fenrir-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fenrir Automated Review — PR #103

Scan targets checked: wolfsentry-src, wolfsentry-bugs
Coverage: 1 of 2 in-scope changed file(s) opened by the reviewer; not opened: tests/unittests.c

Fenrir result: Approved ✅

No new issues found in the changed files.

Advisory only — this automated result does not count as a GitHub approval.

Review tier: Lite

@wolfSSL-Fenrir-bot
wolfSSL-Fenrir-bot dismissed stale reviews from themself October 24, 2026 01:42

Fenrir's latest completed scan found no issues; clearing the prior automated change request.

@aidangarske
aidangarske marked this pull request as ready for review October 24, 2026 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants