diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-04-12 22:45:12 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-04-12 22:45:12 +0000 |
commit | 72dc9ed5af65c946f73050becea29207a1af86c1 (patch) | |
tree | 77d02ca4340063d7184142085f9527f83a40992e /cop.h | |
parent | aa283a383ef6540d57dd786b93d8ba9bd303e3e6 (diff) | |
download | perl-72dc9ed5af65c946f73050becea29207a1af86c1.tar.gz |
Change cop_warnings from an SV holding the warnings bitmask to a
directly (shared) malloc()ed buffer holding the warnings bitmask.
This avoids bugs/crashes when the interpreter that created an optree
is freed but the optree remains in use by other interpreters.
p4raw-id: //depot/perl@27779
Diffstat (limited to 'cop.h')
-rw-r--r-- | cop.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -146,7 +146,8 @@ struct cop { U32 cop_seq; /* parse sequence number */ I32 cop_arybase; /* array base this line was compiled with */ line_t cop_line; /* line # of this command */ - SV * cop_warnings; /* lexical warnings bitmask */ + /* Beware. mg.c and warnings.pl assume the type of this is STRLEN *: */ + STRLEN * cop_warnings; /* lexical warnings bitmask */ SV * cop_io; /* lexical IO defaults */ /* compile time state of %^H. See the comment in op.c for how this is used to recreate a hash to return from caller. */ |