From: Gurusamy Sarathy <gsar@cpan.org>
Date: Wed, 1 Mar 2000 06:07:00 +0000 (+0000)
Subject: fix segfault on C<local ${^WARNING_BITS}>
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=d775746ed34297f91b6e0a289bb9a525d1b3ccba;p=p5sagit%2Fp5-mst-13.2.git

fix segfault on C<local ${^WARNING_BITS}>

p4raw-id: //depot/perl@5394
---

diff --git a/mg.c b/mg.c
index 4fe40a1..904381a 100644
--- a/mg.c
+++ b/mg.c
@@ -1719,6 +1719,11 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
 	}
 	else if (strEQ(mg->mg_ptr, "\027ARNING_BITS")) {
 	    if ( ! (PL_dowarn & G_WARN_ALL_MASK)) {
+		if (!SvPOK(sv) && PL_localizing) {
+	            sv_setpvn(sv, WARN_NONEstring, WARNsize);
+	            PL_compiling.cop_warnings = WARN_NONE;
+		    break;
+		}
                 if (memEQ(SvPVX(sv), WARN_ALLstring, WARNsize)) {
 	            PL_compiling.cop_warnings = WARN_ALL;
 	            PL_dowarn |= G_WARN_ONCE ;