diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-04-29 20:03:38 -0500 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-04-29 20:03:38 -0500 |
commit | 738f006afe36a06c8ed4f668904c76ba84e9f1af (patch) | |
tree | c03fe2ebf8eb7841939e5fa7fc1699f1dfbebf8c | |
parent | 037729fc4d54a6c171d19f7e72d6c85fa29b49e3 (diff) | |
parent | 786e24bde0022283285385ba1f31e3efe71199b1 (diff) | |
download | servo-738f006afe36a06c8ed4f668904c76ba84e9f1af.tar.gz servo-738f006afe36a06c8ed4f668904c76ba84e9f1af.zip |
Auto merge of #5898 - glennw:corrupt-gz, r=jdm
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5898)
<!-- Reviewable:end -->
-rw-r--r-- | components/net/http_loader.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 728435b3179..bc2a74cafca 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -331,8 +331,16 @@ reason: \"certificate verify failed\" }]"; match encoding_str { Some(encoding) => { if encoding == "gzip" { - let mut response_decoding = GzDecoder::new(response).unwrap(); - send_data(&mut response_decoding, start_chan, metadata, classifier); + let result = GzDecoder::new(response); + match result { + Ok(mut response_decoding) => { + send_data(&mut response_decoding, start_chan, metadata, classifier); + } + Err(err) => { + send_error(metadata.final_url, err.to_string(), start_chan); + return; + } + } } else if encoding == "deflate" { let mut response_decoding = DeflateDecoder::new(response); send_data(&mut response_decoding, start_chan, metadata, classifier); |