From 98a3aa4d8ff816fe2d51f7f148f14438ea8db4e0 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 6 Oct 2014 14:09:53 +0200 Subject: [PATCH] Bug 13028: Resolve uninitialized value in string eq at cmp_sysprefs.pl line 194 If you use the restore option with a partial pref file not containing a version, you will have this error. Also the count of updated prefs will be one too high. This is corrected by a better test of the hash value in the CheckVersionPref subroutine. Test plan: [1] Create a small pref file and remove the version pref (if present). You could for instance do a pref backup and remove most lines. [2] Use the restore option with and without this patch. So, something like: maintclone/misc/maintenance/cmp_sysprefs.pl -c r -f 9999crucial.pref [3] Check on the error message and the pref count. Signed-off-by: Chris Cormack Signed-off-by: Katrin Fischer Signed-off-by: Tomas Cohen Arazi --- misc/maintenance/cmp_sysprefs.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/maintenance/cmp_sysprefs.pl b/misc/maintenance/cmp_sysprefs.pl index c688466ee0..bed32a2517 100755 --- a/misc/maintenance/cmp_sysprefs.pl +++ b/misc/maintenance/cmp_sysprefs.pl @@ -234,7 +234,7 @@ sub DeleteOnePref { sub CheckVersionPref { #additional precaution #if there are versions, compare them my ($hash) = @_; - my $hv = $hash->{version}->{value}; + my $hv = exists $hash->{version}? $hash->{version}->{value}: undef; return if !defined $hv; my ($dv) = $dbh->selectrow_array( 'SELECT value FROM systempreferences -- 2.39.5