Skip to content

Fix RSSI SBS output: buffer size and log10 clamp#136

Merged
wiedehopf merged 1 commit into
wiedehopf:devfrom
chrislanzara:fix/rssi-security
Jun 7, 2026
Merged

Fix RSSI SBS output: buffer size and log10 clamp#136
wiedehopf merged 1 commit into
wiedehopf:devfrom
chrislanzara:fix/rssi-security

Conversation

@chrislanzara

Copy link
Copy Markdown
Contributor

Two hardening fixes for the --devel=sbs_rssi extension:

  1. Increase prepareWrite allocation from 200 to 250 bytes when sbs_rssi is enabled. The original 200-byte buffer was sized before field 23 was added; RSSI appends up to ~7 bytes (e.g. ",-48.1") and the extra headroom prevents any possibility of overflow on a maximally populated SBS line.

  2. Add fmax(signalLevel, 1e-10) clamp before log10(). signalLevel is bounded [0,1] by unsigned char arithmetic and the > 0 guard already prevents log10(0), but the explicit clamp documents the invariant and protects against subnormal edge cases if the source path ever changes.

Two hardening fixes for the --devel=sbs_rssi extension:

1. Increase prepareWrite allocation from 200 to 250 bytes when sbs_rssi
   is enabled. The original 200-byte buffer was sized before field 23
   was added; RSSI appends up to ~7 bytes (e.g. ",-48.1") and the
   extra headroom prevents any possibility of overflow on a maximally
   populated SBS line.

2. Add fmax(signalLevel, 1e-10) clamp before log10(). signalLevel is
   bounded [0,1] by unsigned char arithmetic and the > 0 guard already
   prevents log10(0), but the explicit clamp documents the invariant and
   protects against subnormal edge cases if the source path ever changes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@wiedehopf wiedehopf merged commit e492f81 into wiedehopf:dev Jun 7, 2026
1 check passed
@chrislanzara chrislanzara deleted the fix/rssi-security branch June 7, 2026 19:26
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.

2 participants