summaryrefslogtreecommitdiff
path: root/lib/bundler.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler.rb')
-rw-r--r--lib/bundler.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/bundler.rb b/lib/bundler.rb
index 85929c56aa..ee08a2dab8 100644
--- a/lib/bundler.rb
+++ b/lib/bundler.rb
@@ -517,7 +517,11 @@ EOF
def safe_load_marshal(data)
if Gem.respond_to?(:load_safe_marshal)
Gem.load_safe_marshal
- Gem::SafeMarshal.safe_load(data)
+ begin
+ Gem::SafeMarshal.safe_load(data)
+ rescue Gem::SafeMarshal::Reader::Error, Gem::SafeMarshal::Visitors::ToRuby::Error => e
+ raise MarshalError, "#{e.class}: #{e.message}"
+ end
else
load_marshal(data, :marshal_proc => SafeMarshal.proc)
end