[v3,1/4] Network::network_equal: fix check if array is fully defined

Message ID 20180214193522.26880-2-berny156@gmx.de
State Dropped
Headers
Series proxy.cgi fixes for bugzilla #10852 |

Commit Message

Bernhard Held Feb. 15, 2018, 6:35 a.m. UTC
  Correctly check length of list.
Credit to Bernhard Bitsch for pointing in the right direction.
---
 config/cfgroot/network-functions.pl | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
  

Comments

Michael Tremer Feb. 15, 2018, 9:11 a.m. UTC | #1
Hello,

On Wed, 2018-02-14 at 20:35 +0100, Bernhard Held wrote:
> Correctly check length of list.
> Credit to Bernhard Bitsch for pointing in the right direction.
> ---
>  config/cfgroot/network-functions.pl | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl
> index 2902aabb0..070e14d0f 100644
> --- a/config/cfgroot/network-functions.pl
> +++ b/config/cfgroot/network-functions.pl
> @@ -111,8 +111,9 @@ sub network_equal {
>  	my @bin1 = &network2bin($network1);
>  	my @bin2 = &network2bin($network2);
>  
> -	if (!defined $bin1 || !defined $bin2) {
> -		return undef;
> +	unless (scalar @bin1 == 2 &&
> +	        scalar @bin2 == 2) {
> +		return;
>  	}

This is actually quite a good way to probably check for the expected
result.

>  
>  	if ($bin1[0] eq $bin2[0] && $bin1[1] eq $bin2[1]) {

-Michael
  

Patch

diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl
index 2902aabb0..070e14d0f 100644
--- a/config/cfgroot/network-functions.pl
+++ b/config/cfgroot/network-functions.pl
@@ -111,8 +111,9 @@  sub network_equal {
 	my @bin1 = &network2bin($network1);
 	my @bin2 = &network2bin($network2);
 
-	if (!defined $bin1 || !defined $bin2) {
-		return undef;
+	unless (scalar @bin1 == 2 &&
+	        scalar @bin2 == 2) {
+		return;
 	}
 
 	if ($bin1[0] eq $bin2[0] && $bin1[1] eq $bin2[1]) {