diff options
author | mkanat%kerio.com <> | 2005-02-25 12:28:01 +0100 |
---|---|---|
committer | mkanat%kerio.com <> | 2005-02-25 12:28:01 +0100 |
commit | 1414db6ba6c7508bf6e0e4c1191218aa71d7ce43 (patch) | |
tree | 671f0025ffcadcd94848b36982f49c3256021aab /Bugzilla/Util.pm | |
parent | 94c2df0e830ea7070436f8ade182645893ac3373 (diff) | |
download | bugzilla-1414db6ba6c7508bf6e0e4c1191218aa71d7ce43.tar.gz bugzilla-1414db6ba6c7508bf6e0e4c1191218aa71d7ce43.tar.xz |
Bug 282748: uninitialized value in localtime in Format.pm
Patch By Frederic Buclin <LpSolit@gmail.com> r=wurblzap, a=myk
Diffstat (limited to 'Bugzilla/Util.pm')
-rw-r--r-- | Bugzilla/Util.pm | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index 3bc39ff09..7481c18c3 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -277,14 +277,17 @@ sub file_mod_time ($) { sub ValidateDate { my ($date, $format) = @_; + my $date2; - my $ts = str2time($date); - my $date2 = time2str("%Y-%m-%d", $ts); + # $ts is undefined if the parser fails. + my $ts = str2time($date); + if ($ts) { + $date2 = time2str("%Y-%m-%d", $ts); - $date =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/; - $date2 =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/; - - if ($date ne $date2) { + $date =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/; + $date2 =~ s/(\d+)-0*(\d+?)-0*(\d+?)/$1-$2-$3/; + } + if (!$ts || $date ne $date2) { ThrowUserError('illegal_date', {date => $date, format => $format}); } } |