From 80ac4d2ff28b093fd3730cde7280b01577539f8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 16 Dec 2019 14:06:36 +0100 Subject: [PATCH] style: Avoid writing into the empty array header. Differential Revision: https://phabricator.services.mozilla.com/D55291 --- components/style/gecko_bindings/sugar/ns_t_array.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/components/style/gecko_bindings/sugar/ns_t_array.rs b/components/style/gecko_bindings/sugar/ns_t_array.rs index 64ca9ffab78..e3d4e5b86bd 100644 --- a/components/style/gecko_bindings/sugar/ns_t_array.rs +++ b/components/style/gecko_bindings/sugar/ns_t_array.rs @@ -89,9 +89,11 @@ impl nsTArray { pub unsafe fn set_len(&mut self, len: u32) { // this can leak debug_assert!(len >= self.len() as u32); + if self.len() == len as usize { + return; + } self.ensure_capacity(len as usize); - let header = self.header_mut(); - header.mLength = len; + self.header_mut().mLength = len; } /// Resizes an array containing only POD elements @@ -103,6 +105,9 @@ impl nsTArray { where T: Copy, { + if self.len() == len as usize { + return; + } self.ensure_capacity(len as usize); let header = self.header_mut(); header.mLength = len;