From 1b06060cbcc4bf637fcdbfec181d738f01dfed46 Mon Sep 17 00:00:00 2001 From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:07:02 +0100 Subject: Fix logic in is_uint64_t to fix type-limit warning diff --git a/plugins/utils.c b/plugins/utils.c index e871c5f..aff1790 100644 --- a/plugins/utils.c +++ b/plugins/utils.c @@ -258,16 +258,25 @@ bool is_int64(char *number, int64_t *target) { */ bool is_uint64(char *number, uint64_t *target) { errno = 0; - uint64_t tmp = strtoll(number, NULL, 10); + char *endptr = { 0 }; + unsigned long long tmp = strtoull(number, &endptr, 10); + if (errno != 0) { return false; } - if (tmp < 0 || tmp > UINT64_MAX) { + + if (*endptr != '\0') { return false; } + + if (tmp > UINT64_MAX) { + return false; + } + if (target != NULL) { - *target = tmp; + *target = (uint64_t)tmp; } + return true; } -- cgit v0.10-9-g596f From 479ff15249f0eb395c97a95fe53b3238f7bb59b9 Mon Sep 17 00:00:00 2001 From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:11:39 +0100 Subject: check_ntp_peer: Fixes for Wmaybe-unitialized and some restructuring diff --git a/plugins/check_ntp_peer.c b/plugins/check_ntp_peer.c index 4fb9018..464a9e1 100644 --- a/plugins/check_ntp_peer.c +++ b/plugins/check_ntp_peer.c @@ -558,7 +558,6 @@ char *perfd_truechimers (int num_truechimers) int main(int argc, char *argv[]){ int result, offset_result, stratum, num_truechimers; - int oresult, jresult, sresult, tresult = STATE_UNKNOWN; double offset=0, jitter=0; char *result_line, *perfdata_line; @@ -595,18 +594,28 @@ int main(int argc, char *argv[]){ result = STATE_UNKNOWN; result = max_state_alt(result, get_status(fabs(offset), offset_thresholds)); } - oresult = result; + + int oresult = result; + + + int tresult = STATE_UNKNOWN; if(do_truechimers) { tresult = get_status(num_truechimers, truechimer_thresholds); result = max_state_alt(result, tresult); } + + int sresult = STATE_UNKNOWN; + if(do_stratum) { sresult = get_status(stratum, stratum_thresholds); result = max_state_alt(result, sresult); } + + int jresult = STATE_UNKNOWN; + if(do_jitter) { jresult = get_status(jitter, jitter_thresholds); result = max_state_alt(result, jresult); -- cgit v0.10-9-g596f From 4f4fb3d9afa1c45f3d1774c151af9b921d7d430d Mon Sep 17 00:00:00 2001 From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:12:49 +0100 Subject: check_dns: Remove unused variable diff --git a/plugins/check_dns.c b/plugins/check_dns.c index 5e20214..468bc95 100644 --- a/plugins/check_dns.c +++ b/plugins/check_dns.c @@ -87,7 +87,6 @@ main (int argc, char **argv) struct timeval tv; bool parse_address = false; /* This flag scans for Address: but only after Name: */ output chld_out, chld_err; - size_t i; bool is_nxdomain = false; setlocale (LC_ALL, ""); -- cgit v0.10-9-g596f