summaryrefslogtreecommitdiff
path: root/lang/perl5.12/files/patch-qr-leak
diff options
context:
space:
mode:
Diffstat (limited to 'lang/perl5.12/files/patch-qr-leak')
-rw-r--r--lang/perl5.12/files/patch-qr-leak16
1 files changed, 16 insertions, 0 deletions
diff --git a/lang/perl5.12/files/patch-qr-leak b/lang/perl5.12/files/patch-qr-leak
new file mode 100644
index 000000000000..842c0074af46
--- /dev/null
+++ b/lang/perl5.12/files/patch-qr-leak
@@ -0,0 +1,16 @@
+# http://perl5.git.perl.org/perl.git/commitdiff/a954f6ee3112c0edfbc59783d1b424d995122784?hp=711690a16d2a16be7070e06779c46a6d8f482689
+diff --git a/pp_hot.c b/pp_hot.c
+index 57fa328..4a4e9e8 100644
+--- pp_hot.c
++++ pp_hot.c
+@@ -1198,6 +1198,9 @@ PP(pp_qr)
+ if (rx->extflags & RXf_TAINTED)
+ SvTAINTED_on(rv);
+ sv_magic(sv,(SV*)ReREFCNT_inc(rx), PERL_MAGIC_qr,0,0);
++ if (pkg) {
++ SvREFCNT_dec(pkg);
++ }
+ XPUSHs(rv);
+ RETURN;
+ }
+