Skip to content

Commit 1066156

Browse files
eregonhsbt
authored andcommitted
Fix error raised by Net::HTTPResponse#inflater if the block raises
* See https://bugs.ruby-lang.org/issues/13882#note-6
1 parent d8399a4 commit 1066156

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lib/net/http/response.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,12 +268,13 @@ def inflater # :nodoc:
268268

269269
begin
270270
yield inflate_body_io
271+
success = true
271272
ensure
272-
orig_err = $!
273273
begin
274274
inflate_body_io.finish
275275
rescue => err
276-
raise orig_err || err
276+
# Ignore #finish's error if there is an exception from yield
277+
raise err if success
277278
end
278279
end
279280
when 'none', 'identity' then

0 commit comments

Comments
 (0)