This is a live mirror of the Perl 5 development currently hosted at
https://github.com/perl/perl5
https://perl5.git.perl.org
/
perl5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
fc97af9
)
Ensure PL_last_in_gv doesn't end up pointing to garbage by NULLing it
author
Nicholas Clark
<nick@ccl4.org>
Sat, 7 Apr 2007 20:43:14 +0000
(20:43 +0000)
committer
Nicholas Clark
<nick@ccl4.org>
Sat, 7 Apr 2007 20:43:14 +0000
(20:43 +0000)
if the GV it is pointing to gets freed.
p4raw-id: //depot/perl@30868
sv.c
patch
|
blob
|
blame
|
history
diff --git
a/sv.c
b/sv.c
index
09dec1f
..
5d84cb3
100644
(file)
--- a/
sv.c
+++ b/
sv.c
@@
-5144,6
+5144,11
@@
Perl_sv_clear(pTHX_ register SV *sv)
if (!SvVALID(sv) && GvSTASH(sv))
sv_del_backref((SV*)GvSTASH(sv), sv);
}
+ /* FIXME. There are probably more unreferenced pointers to SVs in the
+ interpreter struct that we should check and tidy in a similar
+ fashion to this: */
+ if ((GV*)sv == PL_last_in_gv)
+ PL_last_in_gv = NULL;
case SVt_PVMG:
case SVt_PVNV:
case SVt_PVIV: