From 45989e8fbec52fcbafa5ae9917fc2a0d62e3640d Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Tue, 22 Oct 2019 22:49:29 +0200 Subject: xshared: Share a common add_command() implementation The shared definition of cmdflags is a super set of the previous one in xtables-arp.c so while not being identical, they're compatible. Avoid accidental array overstep in cmd2char() by incrementing an index variable and checking its final value before using it as such. Signed-off-by: Phil Sutter Acked-by: Pablo Neira Ayuso --- iptables/xtables-arp.c | 22 ---------------------- 1 file changed, 22 deletions(-) (limited to 'iptables/xtables-arp.c') diff --git a/iptables/xtables-arp.c b/iptables/xtables-arp.c index 8503f47f..584b6f06 100644 --- a/iptables/xtables-arp.c +++ b/iptables/xtables-arp.c @@ -81,8 +81,6 @@ typedef char arpt_chainlabel[32]; #define CMD_CHECK 0x0800U #define CMD_RENAME_CHAIN 0x1000U #define NUMBER_OF_CMD 13 -static const char cmdflags[] = { 'I', 'D', 'D', 'R', 'A', 'L', 'F', 'Z', - 'N', 'X', 'P', 'E' }; #define OPTION_OFFSET 256 @@ -462,26 +460,6 @@ opt2char(int option) return *ptr; } -static char -cmd2char(int option) -{ - const char *ptr; - for (ptr = cmdflags; option > 1; option >>= 1, ptr++); - - return *ptr; -} - -static void -add_command(unsigned int *cmd, const int newcmd, const unsigned int othercmds, int invert) -{ - if (invert) - xtables_error(PARAMETER_PROBLEM, "unexpected ! flag"); - if (*cmd & (~othercmds)) - xtables_error(PARAMETER_PROBLEM, "Can't use -%c with -%c\n", - cmd2char(newcmd), cmd2char(*cmd & (~othercmds))); - *cmd |= newcmd; -} - static int check_inverse(const char option[], int *invert, int *optidx, int argc) { -- cgit v1.2.3