Stop Data::Compare from loading plugins at will
Peter Rabbitson [Sun, 17 Jul 2011 16:58:02 +0000 (12:58 -0400)]
Changes
lib/DBIx/Class/ResultSet.pm

diff --git a/Changes b/Changes
index 5c66ce7..a9034d0 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,8 +1,9 @@
 Revision history for DBIx::Class
 
     * Fixes
-        - Overhaul t/53lean_startup.t to better dodge false positives
         - Fix $rs->populate([]) to be a no-op rather than an exception
+        - Overhaul t/53lean_startup.t to better dodge false positives
+        - Stop Data::Compare from loading random plugins
 
 0.08193 2011-07-14 17:00 (UTC)
     * New Features / Changes
index 4c5b961..aaff394 100644 (file)
@@ -8,7 +8,7 @@ use DBIx::Class::Exception;
 use DBIx::Class::ResultSetColumn;
 use Scalar::Util qw/blessed weaken/;
 use Try::Tiny;
-use Data::Compare;
+use Data::Compare (); # no imports!!! guard against insane architecture
 
 # not importing first() as it will clash with our own method
 use List::Util ();
@@ -569,7 +569,7 @@ sub _stack_cond {
     for (grep { exists $right->{$_} } keys %$left) {
       # the use of eq_deeply here is justified - the rhs of an
       # expression can contain a lot of twisted weird stuff
-      delete $right->{$_} if Compare( $left->{$_}, $right->{$_} );
+      delete $right->{$_} if Data::Compare::Compare( $left->{$_}, $right->{$_} );
     }
 
     $right = undef unless keys %$right;