diff --git a/debian/patches/11_check_dhcp_parsing_option b/debian/patches/11_check_dhcp_parsing_option new file mode 100644 index 0000000..10700c8 --- /dev/null +++ b/debian/patches/11_check_dhcp_parsing_option @@ -0,0 +1,107 @@ +From 466cb79e5224327c29fc6b84a1cec99c2b190c5a Mon Sep 17 00:00:00 2001 +From: Holger Weiss +Date: Fri, 2 Oct 2015 12:18:13 +0200 +Subject: [PATCH] check_dhcp: Fix option parsing + +The call_getopt() function didn't always return the correct number of +processed arguments. However, since check_dhcp doesn't support +non-option arguments, the caller doesn't need this number anyway. + +Closes #1345. +--- + plugins-root/check_dhcp.c | 43 ++++++++++++------------------------------- + 1 file changed, 12 insertions(+), 31 deletions(-) + +diff --git a/plugins-root/check_dhcp.c b/plugins-root/check_dhcp.c +index 5508d5f..25d4ed4 100644 +--- a/plugins-root/check_dhcp.c ++++ b/plugins-root/check_dhcp.c +@@ -229,7 +229,7 @@ struct in_addr requested_address; + + int process_arguments(int, char **); + int call_getopt(int, char **); +-int validate_arguments(void); ++int validate_arguments(int, int); + void print_usage(void); + void print_help(void); + +@@ -1059,29 +1059,19 @@ int get_results(void){ + + /* process command-line arguments */ + int process_arguments(int argc, char **argv){ +- int c; ++ int arg_index; + + if(argc<1) + return ERROR; + +- c=0; +- while((c+=(call_getopt(argc-c,&argv[c]))) 0) ++ usage(_("Got unexpected non-option argument")); + + return OK; + } diff --git a/debian/patches/series b/debian/patches/series index b976f43..87197bc 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ 02_check_icmp_links # commited upstream 10_sslutils_checksslv3 +11_check_dhcp_parsing_option