Bug 1437532 - prevent doing memset on a non-trivial type. r?njn draft
authorAndi-Bogdan Postelnicu <bpostelnicu@mozilla.com>
Tue, 13 Mar 2018 11:57:49 +0200
changeset 766755 e054f3ae43515d2084b378c0029dc57873a8a570
parent 766597 6ff60a083701d08c52702daf50f28e8f46ae3a1c
push id102396
push userbmo:bpostelnicu@mozilla.com
push dateTue, 13 Mar 2018 10:00:13 +0000
reviewersnjn
bugs1437532
milestone61.0a1
Bug 1437532 - prevent doing memset on a non-trivial type. r?njn MozReview-Commit-ID: C8BfwJSHkWM
js/public/MemoryMetrics.h
--- a/js/public/MemoryMetrics.h
+++ b/js/public/MemoryMetrics.h
@@ -32,17 +32,23 @@ struct TabSizes
 {
     enum Kind {
         Objects,
         Strings,
         Private,
         Other
     };
 
-    TabSizes() { mozilla::PodZero(this); }
+    TabSizes()
+      : objects(0)
+      , strings(0)
+      , private_(0)
+      , other(0)
+    {
+    }
 
     void add(Kind kind, size_t n) {
         switch (kind) {
             case Objects: objects  += n; break;
             case Strings: strings  += n; break;
             case Private: private_ += n; break;
             case Other:   other    += n; break;
             default:      MOZ_CRASH("bad TabSizes kind");