Skip to content

Commit d28bb3a

Browse files
committed
Fix RuboCop
1 parent 3e2328f commit d28bb3a

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

lib/ruby_saml/xml/decoder.rb

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ def try_inflate(data, max_bytesize = nil)
8181
# to prevent a possible DoS attack.
8282
# @return [String] The inflated string
8383
def inflate(deflated, max_bytesize = nil)
84-
unless max_bytesize.nil?
84+
if max_bytesize.nil?
85+
Zlib::Inflate.new(-Zlib::MAX_WBITS).inflate(deflated)
86+
else
8587
inflater = Zlib::Inflate.new(-Zlib::MAX_WBITS)
8688

8789
# Use a StringIO buffer to build the inflated message incrementally.
@@ -90,23 +92,20 @@ def inflate(deflated, max_bytesize = nil)
9092
inflater.inflate(deflated) do |chunk|
9193
if buffer.length + chunk.bytesize > max_bytesize
9294
inflater.close
93-
raise ValidationError, "SAML Message exceeds #{max_bytesize} bytes during decompression, so was rejected"
95+
raise ValidationError.new("SAML Message exceeds #{max_bytesize} bytes during decompression, so was rejected")
9496
end
9597
buffer << chunk
9698
end
9799

98100
final_chunk = inflater.finish
99101
unless final_chunk.empty?
100-
if buffer.length + final_chunk.bytesize > max_bytesize
101-
raise ValidationError, "SAML Message exceeds #{max_bytesize} bytes during decompression, so was rejected"
102-
end
102+
raise ValidationError.new("SAML Message exceeds #{max_bytesize} bytes during decompression, so was rejected") if buffer.length + final_chunk.bytesize > max_bytesize
103+
103104
buffer << final_chunk
104105
end
105106

106107
inflater.close
107108
buffer.string
108-
else
109-
Zlib::Inflate.new(-Zlib::MAX_WBITS).inflate(deflated)
110109
end
111110
end
112111

0 commit comments

Comments
 (0)