Bug 282748: uninitialized value in localtime in Format.pm

Patch By Frederic Buclin <LpSolit@gmail.com> r=wurblzap, a=myk
This commit is contained in:
mkanat%kerio.com 2005-02-25 03:28:02 +00:00
parent 916d258d10
commit 338665be0c
4 changed files with 23 additions and 17 deletions

View File

@ -201,7 +201,9 @@ sub ProcessOneBug($) {
}
$values{'estimated_time'} = format_time_decimal($values{'estimated_time'});
$values{'deadline'} = time2str("%Y-%m-%d", str2time($values{'deadline'}));
if ($values{'deadline'}) {
$values{'deadline'} = time2str("%Y-%m-%d", str2time($values{'deadline'}));
}
my @dependslist;
SendSQL("SELECT dependson FROM dependencies WHERE
@ -262,10 +264,6 @@ sub ProcessOneBug($) {
WHERE attach_id = $attachid");
$diffpart->{'isprivate'} = FetchOneColumn();
}
if( $fieldname eq 'deadline' ) {
$old = time2str("%Y-%m-%d", str2time($old));
$new = time2str("%Y-%m-%d", str2time($new));
}
$difftext = FormatTriple($what, $old, $new);
$diffpart->{'header'} = $diffheader;
$diffpart->{'fieldname'} = $fieldname;

View File

@ -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});
}
}

View File

@ -396,11 +396,6 @@ sub GetBugActivity {
$changes = [];
}
if ($fieldname eq 'deadline') {
$removed = time2str("%Y-%m-%d", str2time($removed));
$added = time2str("%Y-%m-%d", str2time($added));
}
$operation->{'who'} = $who;
$operation->{'when'} = $when;

View File

@ -1767,7 +1767,17 @@ foreach my $id (@idlist) {
{
$check_dep_bugs = 1;
}
# Convert deadlines to the YYYY-MM-DD format. We use an
# intermediate $xxxtime to prevent errors in the web
# server log file when str2time($xxx) is undefined.
if ($col eq 'deadline') {
my $oldtime = str2time($old);
$old = ($oldtime) ? time2str("%Y-%m-%d", $oldtime) : '';
my $newtime = str2time($new);
$new = ($newtime) ? time2str("%Y-%m-%d", $newtime) : '';
}
LogActivityEntry($id,$col,$old,$new,$whoid,$timestamp);
$bug_changed = 1;
}