summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-09-05 18:50:34 -0500
committerJesse Luehrs <doy@tozt.net>2011-09-05 19:53:59 -0500
commited131e4112640c781865aad216cb3c424e5d2ab9 (patch)
tree5dfb0b53a5b03ad0d95447ddd0cce2fb73f7d90c
parent0352cb15b14788d4e2a1badb0d0bb3a34f4d58d8 (diff)
downloadpackage-stash-ed131e4112640c781865aad216cb3c424e5d2ab9.tar.gz
package-stash-ed131e4112640c781865aad216cb3c424e5d2ab9.zip
don't allow invalid package names
-rw-r--r--Changes1
-rw-r--r--lib/Package/Stash/PP.pm3
2 files changed, 4 insertions, 0 deletions
diff --git a/Changes b/Changes
index c45f4a6..2e96f70 100644
--- a/Changes
+++ b/Changes
@@ -3,6 +3,7 @@ Revision history for Package-Stash
{{$NEXT}}
- bring the behavior of has_symbol for nonexistant scalars into line with
the xs version
+ - invalid package names (for instance, Foo:Bar) are not allowed
0.31 2011-08-08
- fix ->add_symbol('$foo', qr/sdlfk/) on 5.12+
diff --git a/lib/Package/Stash/PP.pm b/lib/Package/Stash/PP.pm
index 227970a..b3e3a7d 100644
--- a/lib/Package/Stash/PP.pm
+++ b/lib/Package/Stash/PP.pm
@@ -40,6 +40,9 @@ sub new {
. "currently support anonymous stashes. You should install "
. "Package::Stash::XS";
}
+ elsif ($package !~ /[0-9A-Z_a-z]+(?:::[0-9A-Z_a-z]+)*/) {
+ confess "$package is not a module name";
+ }
return bless {
'package' => $package,