aboutsummaryrefslogtreecommitdiffstats
path: root/lib/resolv.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/resolv.rb')
-rw-r--r--lib/resolv.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/resolv.rb b/lib/resolv.rb
index a5a997a43d..ebb2a9c411 100644
--- a/lib/resolv.rb
+++ b/lib/resolv.rb
@@ -1635,7 +1635,13 @@ class Resolv
name = self.get_name
type, klass, ttl = self.get_unpack('nnN')
typeclass = Resource.get_class(type, klass)
- res = self.get_length16 { typeclass.decode_rdata self }
+ res = self.get_length16 do
+ begin
+ typeclass.decode_rdata self
+ rescue => e
+ raise DecodeError, e.message, e.backtrace
+ end
+ end
res.instance_variable_set :@ttl, ttl
return name, ttl, res
end