Match whitespace after $vhid when checking CARP status to avoid partial matches. Fixes #7638

While here, fix variable references with braces and combine the two calls to grep into a single pattern.

(cherry picked from commit fd4e14b885)
(cherry picked from commit 8cb09b2953)
This commit is contained in:
jim-p 2017-06-20 10:48:44 -04:00
parent 0fdfe230a8
commit ff4034ed4d

View File

@ -699,7 +699,7 @@ function get_carp_interface_status($carpid) {
$vhid = $vip['vhid'];
$carp_query = '';
$_gb = exec("/sbin/ifconfig $interface | /usr/bin/grep carp: | /usr/bin/grep \"vhid $vhid\"", $carp_query);
$_gb = exec("/sbin/ifconfig {$interface} | /usr/bin/grep \"carp:.* vhid {$vhid} \"", $carp_query);
foreach ($carp_query as $int) {
if (stripos($int, "MASTER"))
return "MASTER";