Skip to content

fix(ping): correct inverted strncasecmp in get_namebyhost#525

Open
somethingwithproof wants to merge 1 commit intoCacti:developfrom
somethingwithproof:fix/strncasecmp-inversion
Open

fix(ping): correct inverted strncasecmp in get_namebyhost#525
somethingwithproof wants to merge 1 commit intoCacti:developfrom
somethingwithproof:fix/strncasecmp-inversion

Conversation

@somethingwithproof
Copy link
Copy Markdown
Contributor

strncasecmp() returns 0 on match, but the comparisons used the raw return value as truthy, inverting the logic. TCP matched non-TCP strings and vice versa. Also fixes comparisons against 'hostname' instead of 'token', and strncasecmp length 3 for 4-char strings TCP6/UDP6.

strncasecmp() returns 0 on match, but the comparisons used the
raw return value as truthy, inverting the logic. TCP matched
non-TCP strings and vice versa.

Also fix: comparisons against 'hostname' instead of 'token'
(lines 1020, 1032), and strncasecmp length 3 for 4-char strings
"TCP6"/"UDP6" (should be 4).

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Copilot AI review requested due to automatic review settings April 8, 2026 19:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Fixes method parsing in get_namebyhost() by correcting inverted strncasecmp() checks and ensuring the comparisons are made against the parsed token with the proper match lengths, preventing TCP/UDP method mis-detection.

Changes:

  • Corrected strncasecmp(...) conditionals to explicitly check == 0 for matches.
  • Fixed comparisons to use token (not hostname) when identifying TCP/UDP methods.
  • Corrected TCP6/UDP6 comparisons to use length 4 instead of 3.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@somethingwithproof
Copy link
Copy Markdown
Contributor Author

Code-reviewed as part of a batch with #525-#531. These 7 atomic bug fixes are independent of each other and can be merged in any order; recommend bundling into a single dated release. The Windows/CMake work in #523/#524 should follow this batch, and #512 (production CI pipeline) should be split into smaller PRs before review.

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