Skip to content

Commit 46fc3d4

Browse files
Perl 5 PortersChip Salzenberg
Perl 5 Porters
authored and
Chip Salzenberg
committed
[inseparable changes from match from perl-5.003_97g to perl-5.003_97h]
BUILD PROCESS Subject: Fix up Linux hints for tcsh, and Configure patch Date: Tue, 22 Apr 1997 11:02:27 -0400 (EDT) From: Andy Dougherty <doughera@lafcol.lafayette.edu> Files: Configure hints/linux.sh Msg-ID: Pine.SOL.3.95q.970422101051.2506C-100000@fractal.lafayette.e (applied based on p5p patch as commit 1eb1b1c) Subject: There is no standard answer to 'Use suidperl?' From: Chip Salzenberg <chip@perl.com> Files: hints/bsdos.sh hints/freebsd.sh hints/linux.sh hints/machten_2.sh CORE LANGUAGE CHANGES Subject: Support PRINTF for tied handles Date: Sun, 20 Apr 1997 18:26:13 -0400 From: Doug MacEachern <dougm@opengroup.org> Files: pod/perldelta.pod pod/perltie.pod pp_sys.c t/op/misc.t Msg-ID: 199704202226.SAA08032@postman.osf.org (applied based on p5p patch as commit e7c5525) CORE PORTABILITY Subject: Fix bitwise shifts and pack('w') on Crays From: Chip Salzenberg <chip@perl.com> Files: pp.c DOCUMENTATION Subject: FAQ udpate (23-apr-97) Date: Wed, 23 Apr 1997 12:22:55 -0600 (MDT) From: Nathan Torkington <gnat@prometheus.frii.com> Files: pod/perlfaq*.pod private-msgid: 199704231822.MAA05074@prometheus.frii.com OTHER CORE CHANGES Subject: Mondo Cool patch for buffer safety and convenience From: Chip Salzenberg <chip@perl.com> Files: XSUB.h doop.c dump.c ext/DynaLoader/dl_dlopen.xs ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_next.xs ext/DynaLoader/dlutils.c ext/ODBM_File/ODBM_File.xs global.sym gv.c interp.sym mg.c op.c perl.c perl.h pod/perlguts.pod pp.c pp_ctl.c pp_hot.c pp_sys.c proto.h regcomp.c regexec.c sv.c toke.c util.c Subject: Problems with glob Date: Sun, 20 Apr 1997 02:44:32 -0400 (EDT) From: Ilya Zakharevich <ilya@math.ohio-state.edu> Files: op.c Msg-ID: 1997Apr20.024432.1941365@hmivax.humgen.upenn.edu (applied based on p5p patch as commit a1230b3) Subject: Fix scalar leak in closures From: Chip Salzenberg <chip@perl.com> Files: op.c scope.c Subject: Refine error messages re: anon subs' prototypes From: Chip Salzenberg <chip@perl.com> Files: op.c Subject: Outermost scope is void, not scalar From: Chip Salzenberg <chip@perl.com> Files: pp_ctl.c
1 parent 10a676f commit 46fc3d4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1813
-1092
lines changed

Changes

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,119 @@ And the Keepers of the Patch Pumpkin:
4545
Chip Salzenberg <chip@perl.com>
4646

4747

48+
-----------------
49+
Version 5.003_97h
50+
-----------------
51+
52+
This patch eliminates almost all possible sources of buffer overflow;
53+
in particular, there are no more sprintf() bugs. (!!) This patch
54+
also has a few other fixes. With these changes in place, I can sleep
55+
at night. (Because I've stopped hacking. :-))
56+
57+
CORE LANGUAGE CHANGES
58+
59+
Title: "Support PRINTF for tied handles"
60+
From: Doug MacEachern
61+
Msg-ID: <199704202226.SAA08032@postman.osf.org>
62+
Date: Sun, 20 Apr 1997 18:26:13 -0400
63+
Files: pod/perldelta.pod pod/perltie.pod pp_sys.c t/op/misc.t
64+
65+
CORE PORTABILITY
66+
67+
Title: "Fix bitwise shifts and pack('w') on Crays"
68+
From: Chip Salzenberg
69+
Files: pp.c
70+
71+
Title: "Win32 update (two patches)"
72+
From: Gurusamy Sarathy
73+
Files: lib/AutoSplit.pm lib/ExtUtils/MM_Unix.pm win32/config.w32
74+
win32/makedef.pl
75+
76+
OTHER CORE CHANGES
77+
78+
Title: "Mondo Cool patch for buffer safety and convenience"
79+
From: Chip Salzenberg
80+
Files: XSUB.h doop.c dump.c ext/DynaLoader/dl_dlopen.xs
81+
ext/DynaLoader/dl_hpux.xs ext/DynaLoader/dl_next.xs
82+
ext/DynaLoader/dlutils.c ext/ODBM_File/ODBM_File.xs
83+
global.sym gv.c interp.sym mg.c op.c perl.c perl.h
84+
pod/perlguts.pod pp.c pp_ctl.c pp_hot.c pp_sys.c proto.h
85+
regcomp.c regexec.c sv.c toke.c util.c
86+
87+
Title: "Problems with glob"
88+
From: Ilya Zakharevich
89+
Msg-ID: <1997Apr20.024432.1941365@hmivax.humgen.upenn.edu>
90+
Date: Sun, 20 Apr 1997 02:44:32 -0400 (EDT)
91+
Files: op.c
92+
93+
Title: "Fix scalar leak in closures"
94+
From: Chip Salzenberg
95+
Files: op.c scope.c
96+
97+
Title: "Refine error messages re: anon subs' prototypes"
98+
From: Chip Salzenberg
99+
Files: op.c
100+
101+
Title: "Outermost scope is void, not scalar"
102+
From: Chip Salzenberg
103+
Files: pp_ctl.c
104+
105+
BUILD PROCESS
106+
107+
Title: "Fix up Linux hints for tcsh, and Configure patch"
108+
From: Andy Dougherty
109+
Msg-ID: <Pine.SOL.3.95q.970422101051.2506C-100000@fractal.lafayette.e
110+
Date: Tue, 22 Apr 1997 11:02:27 -0400 (EDT)
111+
Files: Configure hints/linux.sh
112+
113+
Title: "There is no standard answer to 'Use suidperl?'"
114+
From: Chip Salzenberg
115+
Files: hints/bsdos.sh hints/freebsd.sh hints/linux.sh
116+
hints/machten_2.sh
117+
118+
LIBRARY AND EXTENSIONS
119+
120+
Title: "Math::Complex update"
121+
From: Jarkko Hietaniemi
122+
Files: lib/Math/Complex.pm t/lib/complex.t
123+
124+
Title: "Croak on C<use autouse> without module name"
125+
From: Chip Salzenberg
126+
Files: lib/autouse.pm
127+
128+
Title: "Silence warnings on simple C<use ops>"
129+
From: Roderick Schertler
130+
Msg-ID: <pzybafum6k.fsf@eeyore.ibcinc.com>
131+
Date: 19 Apr 1997 10:22:43 -0400
132+
Files: ext/Opcode/ops.pm
133+
134+
TESTS
135+
136+
Title: "Don't put leading newline on numeric strings"
137+
From: Andreas Koenig
138+
Msg-ID: <199704230847.KAA22752@anna.in-berlin.de>
139+
Date: Wed, 23 Apr 1997 10:47:00 +0200
140+
Files: t/pragma/constant.t
141+
142+
UTILITIES
143+
144+
(no changes)
145+
146+
DOCUMENTATION
147+
148+
Title: "FAQ udpate (23-apr-97)"
149+
From: Nathan Torkington <gnat@prometheus.frii.com>
150+
Msg-ID: <199704231822.MAA05074@prometheus.frii.com>
151+
Date: Wed, 23 Apr 1997 12:22:55 -0600 (MDT)
152+
Files: pod/perlfaq*.pod
153+
154+
Title: "Two doublewords less"
155+
From: Jarkko Hietaniemi
156+
Msg-ID: <199704201938.WAA07722@alpha.hut.fi>
157+
Date: Sun, 20 Apr 1997 22:38:13 +0300 (EET DST)
158+
Files: pod/perlrun.pod vms/perlvms.pod
159+
160+
48161
-----------------
49162
Version 5.003_97g
50163
-----------------

Configure

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6095,12 +6095,14 @@ eval $setvar
60956095
: get csh whereabouts
60966096
case "$csh" in
60976097
'csh') val="$undef" ;;
6098-
'tcsh') val="$undef" ;;
60996098
*) val="$define" ;;
61006099
esac
61016100
set d_csh
61026101
eval $setvar
6103-
full_csh=$csh
6102+
: Respect a hint or command line value for full_csh.
6103+
case "$full_csh" in
6104+
'') full_csh=$csh ;;
6105+
esac
61046106

61056107
: see if cuserid exists
61066108
set cuserid d_cuserid

MANIFEST

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ lib/File/Compare.pm Emulation of cmp command
346346
lib/File/Copy.pm Emulation of cp command
347347
lib/File/Find.pm Routines to do a find
348348
lib/File/Path.pm Do things like `mkdir -p' and `rm -r'
349-
lib/File/stat.pm By-name interface to Perl's built-in stat
349+
lib/File/stat.pm By-name interface to Perl's builtin stat
350350
lib/FileCache.pm Keep more files open than the system permits
351351
lib/FileHandle.pm Backward-compatible front end to IO extension
352352
lib/FindBin.pm Find name of currently executing program
@@ -360,10 +360,10 @@ lib/Math/BigInt.pm An arbitrary precision integer arithmetic package
360360
lib/Math/Complex.pm A Complex package
361361
lib/Math/Trig.pm A simple interface to complex trigonometry
362362
lib/Net/Ping.pm Hello, anybody home?
363-
lib/Net/hostent.pm By-name interface to Perl's built-in gethost*
364-
lib/Net/netent.pm By-name interface to Perl's built-in getnet*
365-
lib/Net/protoent.pm By-name interface to Perl's built-in getproto*
366-
lib/Net/servent.pm By-name interface to Perl's built-in getserv*
363+
lib/Net/hostent.pm By-name interface to Perl's builtin gethost*
364+
lib/Net/netent.pm By-name interface to Perl's builtin getnet*
365+
lib/Net/protoent.pm By-name interface to Perl's builtin getproto*
366+
lib/Net/servent.pm By-name interface to Perl's builtin getserv*
367367
lib/Pod/Functions.pm used by pod/splitpod
368368
lib/Pod/Html.pm Convert POD data to HTML
369369
lib/Pod/Text.pm Convert POD data to formatted ASCII text
@@ -388,12 +388,12 @@ lib/Tie/RefHash.pm Base class for tied hashes with references as keys
388388
lib/Tie/Scalar.pm Base class for tied scalars
389389
lib/Tie/SubstrHash.pm Compact hash for known key, value and table size
390390
lib/Time/Local.pm Reverse translation of localtime, gmtime
391-
lib/Time/gmtime.pm By-name interface to Perl's built-in gmtime
392-
lib/Time/localtime.pm By-name interface to Perl's built-in localtime
391+
lib/Time/gmtime.pm By-name interface to Perl's builtin gmtime
392+
lib/Time/localtime.pm By-name interface to Perl's builtin localtime
393393
lib/Time/tm.pm Internal object for Time::{gm,local}time
394394
lib/UNIVERSAL.pm Base class for ALL classes
395-
lib/User/grent.pm By-name interface to Perl's built-in getgr*
396-
lib/User/pwent.pm By-name interface to Perl's built-in getpw*
395+
lib/User/grent.pm By-name interface to Perl's builtin getgr*
396+
lib/User/pwent.pm By-name interface to Perl's builtin getpw*
397397
lib/abbrev.pl An abbreviation table builder
398398
lib/assert.pl assertion and panic with stack trace
399399
lib/autouse.pm Load and call a function only when it's used

XSUB.h

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,18 @@
3939
#ifdef XS_VERSION
4040
# define XS_VERSION_BOOTCHECK \
4141
STMT_START { \
42-
char vn[255], *module = SvPV(ST(0),na); \
42+
char *vn = "", *module = SvPV(ST(0),na); \
4343
if (items >= 2) /* version supplied as bootstrap arg */ \
4444
Sv = ST(1); \
4545
else { \
46-
sprintf(vn,"%s::XS_VERSION", module); \
47-
Sv = perl_get_sv(vn, FALSE); /* XXX GV_ADDWARN */ \
48-
if (!Sv || !SvOK(Sv)) { \
49-
sprintf(vn,"%s::VERSION", module); \
50-
Sv = perl_get_sv(vn, FALSE); /* XXX GV_ADDWARN */ \
51-
} \
46+
/* XXX GV_ADDWARN */ \
47+
Sv = perl_get_sv(vn = form("%s::XS_VERSION", module), FALSE); \
48+
if (!Sv || !SvOK(Sv)) \
49+
Sv = perl_get_sv(vn = form("%s::VERSION", module), FALSE); \
5250
} \
5351
if (Sv && (!SvOK(Sv) || strNE(XS_VERSION, SvPV(Sv, na)))) \
54-
croak("%s object version %s does not match $%s %s", \
55-
module, XS_VERSION, vn, SvPV(Sv, na)); \
52+
croak("%s object version %s does not match $%s %S", \
53+
module, XS_VERSION, vn, Sv); \
5654
} STMT_END
5755
#else
5856
# define XS_VERSION_BOOTCHECK

0 commit comments

Comments
 (0)