summaryrefslogtreecommitdiff
path: root/mg.c
diff options
context:
space:
mode:
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>1997-04-25 00:00:00 +1200
committerChip Salzenberg <chip@atlantic.net>1997-04-25 00:00:00 +1200
commitfc36a67e8855d031b2a6921819d899eb149eee2d (patch)
tree7e927725470a83d271eae7d78123f60cb86e60df /mg.c
parent74a7701791a30556a92328b89e5a00414a4ce4a3 (diff)
downloadperl-fc36a67e8855d031b2a6921819d899eb149eee2d.tar.gz
[inseparable changes from match from perl-5.003_97h to perl-5.003_97i]
CORE PORTABILITY Subject: Provide memset() if it's missing From: Chip Salzenberg <chip@perl.com> Files: global.sym perl.h proto.h util.c Subject: Don't tell GCC that warn(), croak(), and die() are printf-lik From: Chip Salzenberg <chip@perl.com> Files: proto.h DOCUMENTATION Subject: FAQ udpate (24-apr-97) Date: Thu, 24 Apr 1997 16:47:23 -0600 (MDT) From: Nathan Torkington <gnat@prometheus.frii.com> Files: pod/perlfaq*.pod private-msgid: 199704242247.QAA07010@prometheus.frii.com OTHER CORE CHANGES Subject: Misc. sv_vcatpvfn() fixes From: Hugo van der Sanden <hv@crypt.compulink.co.uk> Files: gv.c mg.c op.c perl.c pp.c pp_ctl.c sv.c toke.c util.c Subject: Enforce order of sprintf() elements From: Chip Salzenberg <chip@perl.com> Files: sv.c Subject: Guard against long numbers, <<LONG_DELIM, and <long glob> From: Chip Salzenberg <chip@perl.com> Files: global.sym mg.c perl.c pod/perldiag.pod proto.h toke.c util.c Subject: Guard against C<goto> to deeply nested label From: Chip Salzenberg <chip@perl.com> Files: pod/perldiag.pod pp_ctl.c Subject: Guard against overflow in dup2() emulation From: Chip Salzenberg <chip@perl.com> Files: util.c Subject: Win32: Guard against long function names From: Chip Salzenberg <chip@perl.com> Files: win32/win32sck.c Subject: Make mess() always work, by using a non-arena SV From: Chip Salzenberg <chip@perl.com> Files: perl.c util.c Subject: When copying a format line, take only its string value From: Chip Salzenberg <chip@perl.com> Files: sv.c Subject: Fix LEAKTEST numbers From: Chip Salzenberg <chip@perl.com> Files: ext/DynaLoader/dl_vms.xs handy.h os2/os2.c util.c vms/vms.c win32/win32.c win32/win32sck.c
Diffstat (limited to 'mg.c')
-rw-r--r--mg.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/mg.c b/mg.c
index 7d8cd046f8..cab0e5973e 100644
--- a/mg.c
+++ b/mg.c
@@ -531,18 +531,18 @@ MAGIC *mg;
break;
case '(':
sv_setiv(sv, (IV)gid);
- sv_setpvf(sv, "%vd", (IV)gid);
+ sv_setpvf(sv, "%Vd", (IV)gid);
goto add_groups;
case ')':
sv_setiv(sv, (IV)egid);
- sv_setpvf(sv, "%vd", (IV)egid);
+ sv_setpvf(sv, "%Vd", (IV)egid);
add_groups:
#ifdef HAS_GETGROUPS
{
Groups_t gary[NGROUPS];
i = getgroups(NGROUPS,gary);
while (--i >= 0)
- sv_catpvf(sv, " %vd", (IV)gary[i]);
+ sv_catpvf(sv, " %Vd", (IV)gary[i]);
}
#endif
SvIOK_on(sv); /* what a wonderful hack! */
@@ -627,9 +627,11 @@ MAGIC* mg;
while (s < strend) {
struct stat st;
- s = cpytill(tokenbuf, s, strend, ':', &i);
+ s = delimcpy(tokenbuf, tokenbuf + sizeof tokenbuf,
+ s, strend, ':', &i);
s++;
- if (*tokenbuf != '/'
+ if (i >= sizeof tokenbuf /* too long -- assume the worst */
+ || *tokenbuf != '/'
|| (Stat(tokenbuf, &st) == 0 && (st.st_mode & 2)) ) {
MgTAINTEDDIR_on(mg);
return 0;