From 773a15d28a39f19f4d54c14b060bae670b55aaaf Mon Sep 17 00:00:00 2001 From: Nikki Date: Tue, 29 Dec 2015 17:08:46 -0700 Subject: added a check for buffer overflow --- components/script/dom/websocket.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'components/script/dom/websocket.rs') diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index 4199ff7094e..014d4100dd9 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -299,7 +299,11 @@ impl WebSocket { let chan = global.r().networking_task_source(); let address = Trusted::new(self, chan.clone()); - self.buffered_amount.set(self.buffered_amount.get() + data_byte_len); + match data_byte_len.checked_add(self.buffered_amount.get()) { + None => return Ok(false), + Some(new_amount) => self.buffered_amount.set(new_amount) + }; + // self.buffered_amount.set(self.buffered_amount.get() + data_byte_len); if return_after_buffer { return Ok(false); -- cgit v1.2.3