Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2a73ee5

Browse files
committed
Fix MSVC builds for recent plperl changes. Go back to version 8.2, which is
where we started supporting MSVC builds. Security: CVE-2010-1169
1 parent 20db959 commit 2a73ee5

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

src/tools/msvc/Mkvcbuild.pm

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package Mkvcbuild;
33
#
44
# Package that generates build files for msvc build
55
#
6-
# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.56 2010/05/13 15:56:22 mha Exp $
6+
# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.57 2010/05/13 21:33:00 adunstan Exp $
77
#
88
use Carp;
99
use Win32;
@@ -118,8 +118,7 @@ sub mkvcbuild
118118
}
119119
}
120120
if ( Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_perlboot.pl')
121-
||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_safe_bad.pl')
122-
||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_safe_ok.pl'))
121+
||Solution::IsNewer('src\pl\plperl\perlchunks.h','src\pl\plperl\plc_trusted.pl'))
123122
{
124123
print 'Building src\pl\plperl\perlchunks.h ...' . "\n";
125124
my $basedir = getcwd;
@@ -128,7 +127,7 @@ sub mkvcbuild
128127
. '/bin/perl '
129128
. 'text2macro.pl '
130129
. '--strip="^(\#.*|\s*)$$" '
131-
. 'plc_perlboot.pl plc_safe_bad.pl plc_safe_ok.pl '
130+
. 'plc_perlboot.pl plc_trusted.pl '
132131
. '>perlchunks.h');
133132
chdir $basedir;
134133
if ((!(-f 'src\pl\plperl\perlchunks.h')) || -z 'src\pl\plperl\perlchunks.h')
@@ -137,6 +136,22 @@ sub mkvcbuild
137136
die 'Failed to create perlchunks.h' . "\n";
138137
}
139138
}
139+
if ( Solution::IsNewer('src\pl\plperl\plperl_opmask.h','src\pl\plperl\plperl_opmask.pl'))
140+
{
141+
print 'Building src\pl\plperl\plperl_opmask.h ...' . "\n";
142+
my $basedir = getcwd;
143+
chdir 'src\pl\plperl';
144+
system( $solution->{options}->{perl}
145+
. '/bin/perl '
146+
. 'plperl_opmask.pl '
147+
. 'plperl_opmask.h');
148+
chdir $basedir;
149+
if ((!(-f 'src\pl\plperl\plperl_opmask.h')) || -z 'src\pl\plperl\plperl_opmask.h')
150+
{
151+
unlink('src\pl\plperl\plperl_opmask.h'); # if zero size
152+
die 'Failed to create plperl_opmask.h' . "\n";
153+
}
154+
}
140155
$plperl->AddReference($postgres);
141156
my @perl_libs =
142157
grep {/perl\d+.lib$/ }glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib');

0 commit comments

Comments
 (0)