From 72dc9ed5af65c946f73050becea29207a1af86c1 Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Wed, 12 Apr 2006 22:45:12 +0000 Subject: 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 --- cop.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cop.h') diff --git a/cop.h b/cop.h index fc69b916fe..a6749a06fa 100644 --- a/cop.h +++ b/cop.h @@ -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. */ -- cgit v1.2.1