Bug 1310149: Tighten the check in DecodeLimits; r?luke draft
authorBenjamin Bouvier <benj@benj.me>
Wed, 26 Oct 2016 12:09:28 +0200
changeset 429669 180dbe402e252aa9786c82da37bbc23535175f84
parent 429668 9ba1705b5af69272efca5cb6c4aacb08a4f35a72
child 535029 ef0711dc0f54ec26cd3cceb77c934fff2cf259d5
push id33633
push userbbouvier@mozilla.com
push dateWed, 26 Oct 2016 10:10:08 +0000
reviewersluke
bugs1310149
milestone52.0a1
Bug 1310149: Tighten the check in DecodeLimits; r?luke MozReview-Commit-ID: 7uvBAqIY53I
js/src/asmjs/WasmBinaryFormat.cpp
--- a/js/src/asmjs/WasmBinaryFormat.cpp
+++ b/js/src/asmjs/WasmBinaryFormat.cpp
@@ -186,20 +186,18 @@ wasm::DecodeInitializerExpression(Decode
 
 bool
 wasm::DecodeLimits(Decoder& d, Limits* limits)
 {
     uint32_t flags;
     if (!d.readVarU32(&flags))
         return d.fail("expected flags");
 
-    // TODO (bug 1310149): tighten this check (s/3/1) when the AngryBots demo
-    // gets updated.
-    if (flags & ~uint32_t(0x3))
-        return d.fail("unexpected bits set in flags: %" PRIu32, (flags & ~uint32_t(0x3)));
+    if (flags & ~uint32_t(0x1))
+        return d.fail("unexpected bits set in flags: %" PRIu32, (flags & ~uint32_t(0x1)));
 
     if (!d.readVarU32(&limits->initial))
         return d.fail("expected initial length");
 
     if (flags & 0x1) {
         uint32_t maximum;
         if (!d.readVarU32(&maximum))
             return d.fail("expected maximum length");