From 00098bc80b6f85eb74f2f3bc2b4eb7430614110d Mon Sep 17 00:00:00 2001 From: Steve Beaver Date: Wed, 21 Sep 2016 12:08:23 -0400 Subject: [PATCH] Fixed #6801 --- src/usr/local/www/firewall_rules.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/usr/local/www/firewall_rules.php b/src/usr/local/www/firewall_rules.php index f5d4d5d9ad..c2870eecd3 100644 --- a/src/usr/local/www/firewall_rules.php +++ b/src/usr/local/www/firewall_rules.php @@ -221,6 +221,7 @@ if (isset($_POST['del_x'])) { if (is_array($_POST['rule']) && count($_POST['rule'])) { $a_separators = &$config['filter']['separator'][strtolower($if)]; + $num_deleted = 0; foreach ($_POST['rule'] as $rulei) { delete_nat_association($a_filter[$rulei]['associated-rule-id']); @@ -228,9 +229,11 @@ if (isset($_POST['del_x'])) { $deleted = true; // Update the separators - $ridx = ifridx($if, $rulei); // get rule index within interface + // As rules are deleted, $ridx has to be decremented or separator position will break + $ridx = ifridx($if, $rulei) - $num_deleted; // get rule index within interface $mvnrows = -1; move_separators($a_separators, $ridx, $mvnrows); + $num_deleted++; } if ($deleted) {