]> git.vpit.fr Git - perl/modules/indirect.git/blobdiff - indirect.xs
Pass copies as hook arguments
[perl/modules/indirect.git] / indirect.xs
index 6203d97a4d74679471f6e733771c711aa63c5c2c..f3aa14b4ce3c11f009c3d7b79d6d7b3fa2b4bb5e 100644 (file)
@@ -292,6 +292,7 @@ STATIC void indirect_map_store(pTHX_ const OP *o, const char *src, SV *sv) {
  SvUVX(val) = PTR2UV(src);
  SvIOK_on(val);
  SvIsUV_on(val);
+ SvREADONLY_on(val);
 
  ptable_store(MY_CXT.map, o, val);
 }
@@ -513,6 +514,8 @@ STATIC OP *indirect_ck_entersub(pTHX_ OP *o) {
 
    if (hint) {
     dSP;
+    onamesv = sv_mortalcopy(onamesv);
+    mnamesv = sv_mortalcopy(mnamesv);
 
     ENTER;
     SAVETMPS;