From 99f2bd7644d9dea1240fc007fefc47a4b02f5d95 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Fri, 25 Mar 2011 15:28:51 -0700 Subject: Fix use of uninitialized ospeed If speed can not be determined then ospeed is undef. (cherry picked from commit dd7f6937e0cbe4f4705f4dde9a333852ba21f7c9) --- scripts/vyatta-interfaces.pl | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/scripts/vyatta-interfaces.pl b/scripts/vyatta-interfaces.pl index c209abbe..e15e0ce7 100755 --- a/scripts/vyatta-interfaces.pl +++ b/scripts/vyatta-interfaces.pl @@ -451,14 +451,13 @@ sub set_speed_duplex { # read old values to avoid meaningless speed changes my ($autoneg, $ospeed, $oduplex) = get_ethtool($intf); - if (defined($autoneg)) { - if ($autoneg == 1) { - # Device is already in autonegotiation mode - return if ($nspeed eq 'auto'); - } else { - # Device has explicit speed/duplex but they already match - return if (($nspeed eq $ospeed) && ($nduplex eq $oduplex)); - } + + if (defined($autoneg) && $autoneg == 1) { + # Device is already in autonegotiation mode + return if ($nspeed eq 'auto'); + } elsif (defined($ospeed) && defined($oduplex)) { + # Device has explicit speed/duplex but they already match + return if (($nspeed eq $ospeed) && ($nduplex eq $oduplex)); } my $cmd = "$ETHTOOL -s $intf"; -- cgit v1.2.3