Skip to content

fix(ilp): fix assertion error in ILP decimal parser on malformed input#6772

Merged
bluestreak01 merged 1 commit intomasterfrom
vi_fuzz_tcp
Feb 12, 2026
Merged

fix(ilp): fix assertion error in ILP decimal parser on malformed input#6772
bluestreak01 merged 1 commit intomasterfrom
vi_fuzz_tcp

Conversation

@bluestreak01
Copy link
Copy Markdown
Member

@bluestreak01 bluestreak01 commented Feb 12, 2026

This issue was discovered by Team Atlanta (@LeeSinLiang and @occia) 👍

Summary

  • Read the len byte in DecimalBinaryFormatParser as unsigned (& 0xFF) instead of signed. A malformed ILP message with a high len byte (e.g. 0x80) was interpreted as negative, which skipped the VALUES parsing state and left unscaledValues empty. The subsequent load() call then hit an ArrayIndexOutOfBoundsException accessing index 0 of the empty list.
  • Add a regression test that sends the exact fuzzer-generated payload over TCP and verifies the server stays alive and can process further ILP messages.

Test plan

  • Run LineTcpReceiverTest#testMalformedBinaryDecimalDoesNotCrash — sends a malformed 83-byte payload to ILP TCP, then sends a valid ILP message and asserts it was ingested correctly

🤖 Generated with Claude Code

@bluestreak01 bluestreak01 added Bug Incorrect or unexpected behavior ILP Issues or changes relating to Influx Line Protocol labels Feb 12, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 12, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch vi_fuzz_tcp

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@glasstiger
Copy link
Copy Markdown
Contributor

[PR Coverage check]

😍 pass : 1 / 1 (100.00%)

file detail

path covered line new line coverage
🔵 io/questdb/cutlass/line/tcp/DecimalBinaryFormatParser.java 1 1 100.00%

@bluestreak01 bluestreak01 merged commit 85a913a into master Feb 12, 2026
44 checks passed
@bluestreak01 bluestreak01 deleted the vi_fuzz_tcp branch February 12, 2026 13:44
maciulis pushed a commit to maciulis/questdb that referenced this pull request Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug Incorrect or unexpected behavior ILP Issues or changes relating to Influx Line Protocol

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants