diff options
Diffstat (limited to 'dev-lang/perl/files/perl-exp_intwrap.patch')
-rw-r--r-- | dev-lang/perl/files/perl-exp_intwrap.patch | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/dev-lang/perl/files/perl-exp_intwrap.patch b/dev-lang/perl/files/perl-exp_intwrap.patch deleted file mode 100644 index 44c4d4ced361..000000000000 --- a/dev-lang/perl/files/perl-exp_intwrap.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- sv.c.orig 2005-12-05 06:45:46.000000000 -0500 -+++ sv.c 2005-12-06 11:56:42.000000000 -0500 -@@ -8519,7 +8519,10 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const cha - if (EXPECT_NUMBER(q, width)) { - if (*q == '$') { - ++q; -- efix = width; -+ if (width > INT_MAX) -+ efix=INT_MAX; -+ else -+ efix = width; - } else { - goto gotwidth; - } -@@ -8707,9 +8710,10 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const cha - - if (vectorize) - argsv = vecsv; -- else if (!args) -- argsv = (efix ? efix <= svmax : svix < svmax) ? -- svargs[efix ? efix-1 : svix++] : &PL_sv_undef; -+ else if (!args) { -+ I32 i = efix ? efix-1 : svix++; -+ argsv = (i >= 0 && i < svmax) ? svargs[i] : &PL_sv_undef; -+ } - - switch (c = *q++) { - -@@ -8972,6 +8976,8 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const cha - *--eptr = '0'; - break; - case 2: -+ if (!uv) -+ alt = FALSE; - do { - dig = uv & 1; - *--eptr = '0' + dig; -@@ -9274,6 +9280,8 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const cha - - /* calculate width before utf8_upgrade changes it */ - have = esignlen + zeros + elen; -+ if (have < zeros) -+ Perl_croak_nocontext(PL_memory_wrap); - - if (is_utf8 != has_utf8) { - if (is_utf8) { -@@ -9301,6 +9309,11 @@ Perl_sv_vcatpvfn(pTHX_ SV *sv, const cha - need = (have > width ? have : width); - gap = need - have; - -+#ifdef PERL_MALLOC_WRAP -+ if (need >= (((STRLEN)~0) - SvCUR(sv) - dotstrlen - 1)) { -+ Perl_croak_nocontext(PL_memory_wrap); -+ } -+#endif - SvGROW(sv, SvCUR(sv) + need + dotstrlen + 1); - p = SvEND(sv); - if (esignlen && fill == '0') { |