Skip to content

dnsdist: Prevent an underflow of the TCP d_queued counter #12365

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

rgacogne
Copy link
Member

Short description

By incrementing it before writing to the pipe, and decrementing it in case of an error, we prevent a very possible underflow from occurring if the reader manages to decrement before we can return from write and increment it.
Fixes #12357

Checklist

I have:

  • read the CONTRIBUTING.md document
  • compiled this code
  • tested this code
  • included documentation (including possible behaviour changes)
  • documented the code
  • added or modified regression test(s)
  • added or modified unit test(s)

By incrementing it _before_ writing to the pipe, and decrementing
it in case of an error, we prevent a very possible underflow from
occurring if the reader manages to decrement before we can return
from write and increment it.
@Berndinox
Copy link

Waiting for this, thanks for fixing!

@rgacogne rgacogne merged commit afc2689 into PowerDNS:master Jan 9, 2023
@rgacogne rgacogne deleted the ddist-fix-tcp-queued-underflow-12357 branch January 9, 2023 10:16
@rgacogne rgacogne mentioned this pull request Mar 6, 2023
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dnsdist: d_queued underflow
3 participants