Module: monitoring-plugins
 Branch: master
 Commit: 8626d22fc5df98d73b36eedb01cb4ed02908ea18
 Author: Lorenz Kästle <12514511+rincewinds...@users.noreply.github.com>
   Date: Mon Jun 23 11:44:46 2025 +0200
    URL: 
https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=8626d22f

check_icmp: trigger help before anything important

---

 plugins-root/check_icmp.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/plugins-root/check_icmp.c b/plugins-root/check_icmp.c
index 8feeb853..03924a7e 100644
--- a/plugins-root/check_icmp.c
+++ b/plugins-root/check_icmp.c
@@ -353,6 +353,7 @@ check_icmp_config_wrapper process_arguments(int argc, char 
**argv) {
                long int arg;
                while ((arg = getopt_long(argc, argv, opts_str, longopts, 
NULL)) != EOF) {
                        switch (arg) {
+
                        case '4':
                                if (enforced_ai_family != AF_UNSPEC) {
                                        crash("Multiple protocol versions not 
supported");
@@ -369,6 +370,11 @@ check_icmp_config_wrapper process_arguments(int argc, char 
**argv) {
                                result.config.number_of_hosts++;
                                break;
                        }
+                       case 'h': /* help */
+                               // Trigger help here to avoid adding hosts 
before that (and doing DNS queries)
+                               print_help();
+                               exit(STATE_UNKNOWN);
+                               break;
                        case 'v':
                                debug++;
                                break;
@@ -490,10 +496,6 @@ check_icmp_config_wrapper process_arguments(int argc, char 
**argv) {
                        case 'V': /* version */
                                print_revision(progname, NP_VERSION);
                                exit(STATE_UNKNOWN);
-                       case 'h': /* help */
-                               print_help();
-                               exit(STATE_UNKNOWN);
-                               break;
                        case 'R': /* RTA mode */ {
                                get_threshold2_wrapper rta_th = get_threshold2(
                                        optarg, strlen(optarg), 
result.config.warn, result.config.crit, const_rta_mode);

Reply via email to