aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-04-29 20:03:38 -0500
committerbors-servo <metajack+bors@gmail.com>2015-04-29 20:03:38 -0500
commit738f006afe36a06c8ed4f668904c76ba84e9f1af (patch)
treec03fe2ebf8eb7841939e5fa7fc1699f1dfbebf8c
parent037729fc4d54a6c171d19f7e72d6c85fa29b49e3 (diff)
parent786e24bde0022283285385ba1f31e3efe71199b1 (diff)
downloadservo-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.rs12
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);