summaryrefslogtreecommitdiff
path: root/MANIFEST
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2022-12-04 13:58:23 +0100
committerYves Orton <demerphq@gmail.com>2022-12-05 14:52:09 +0100
commit73dbc8219374856b2b08baa76f8fbdef16c44ea0 (patch)
tree6dc65c76dbd584f6e32cc5c460af56a6bbb2923b /MANIFEST
parentd0a777fffcbb018434bd79aeb7c486a0f95595f1 (diff)
downloadperl-73dbc8219374856b2b08baa76f8fbdef16c44ea0.tar.gz
pp_ctl.c - copy hook into %INC not alias it
When an @INC hook is executed and it updates %INC it can result in @INC being updated and the hook being destroyed. This seems to be because the SV fetched from @INC is stored into %INC directly, essentially creating an alias (in perl terms) of the original. When the alias is updated, for instance by setting it to be a string, this is reflected in both @INC and %INC. By copying the sv before we store it we avoid this problem. We can't run the test under miniperl as it uses IO layers. This should fix GH #20577.
Diffstat (limited to 'MANIFEST')
-rw-r--r--MANIFEST1
1 files changed, 1 insertions, 0 deletions
diff --git a/MANIFEST b/MANIFEST
index 20427253fc..5c94dd640f 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -5972,6 +5972,7 @@ t/op/ref.t See if refs and objects work
t/op/repeat.t See if x operator works
t/op/require_37033.t See if require always closes rsfp
t/op/require_errors.t See if errors from require are reported correctly
+t/op/require_gh20577.t Make sure updating %INC from an INC hook doesnt break @INC
t/op/require_override.t See if require handles no argument properly
t/op/reset.t See if reset operator works
t/op/reverse.t See if reverse operator works