From 795277d9b1bf7c6d7539b4f1aac3815e6b66efe7 Mon Sep 17 00:00:00 2001
From: Thomas Guyot-Sionnest <dermoth@aei.ca>
Date: Sat, 21 Mar 2009 02:39:49 -0400
Subject: check_http: die when an invalid --onredirect option is specified


diff --git a/plugins/check_http.c b/plugins/check_http.c
index 5a859f9..c8ae67f 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -305,18 +305,19 @@ process_arguments (int argc, char **argv)
     case 'f': /* onredirect */
       if (!strcmp (optarg, "stickyport"))
         onredirect = STATE_DEPENDENT, followsticky = STICKY_HOST|STICKY_PORT;
-      if (!strcmp (optarg, "sticky"))
+      else if (!strcmp (optarg, "sticky"))
         onredirect = STATE_DEPENDENT, followsticky = STICKY_HOST;
-      if (!strcmp (optarg, "follow"))
+      else if (!strcmp (optarg, "follow"))
         onredirect = STATE_DEPENDENT, followsticky = STICKY_NONE;
-      if (!strcmp (optarg, "unknown"))
+      else if (!strcmp (optarg, "unknown"))
         onredirect = STATE_UNKNOWN;
-      if (!strcmp (optarg, "ok"))
+      else if (!strcmp (optarg, "ok"))
         onredirect = STATE_OK;
-      if (!strcmp (optarg, "warning"))
+      else if (!strcmp (optarg, "warning"))
         onredirect = STATE_WARNING;
-      if (!strcmp (optarg, "critical"))
+      else if (!strcmp (optarg, "critical"))
         onredirect = STATE_CRITICAL;
+      else usage2 (_("Invalid onredirect option"), optarg);
       if (verbose)
         printf(_("option f:%d \n"), onredirect);
       break;
-- 
cgit v0.10-9-g596f

