summaryrefslogtreecommitdiffstats
path: root/parser/html/nsHtml5Portability.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'parser/html/nsHtml5Portability.cpp')
-rw-r--r--parser/html/nsHtml5Portability.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/parser/html/nsHtml5Portability.cpp b/parser/html/nsHtml5Portability.cpp
index 400f06204..613f4e530 100644
--- a/parser/html/nsHtml5Portability.cpp
+++ b/parser/html/nsHtml5Portability.cpp
@@ -7,6 +7,15 @@
#include "jArray.h"
#include "nsHtml5Portability.h"
#include "nsHtml5TreeBuilder.h"
+#include "mozilla/CheckedInt.h"
+
+int32_t nsHtml5Portability::checkedAdd(int32_t a, int32_t b) {
+ mozilla::CheckedInt<int32_t> sum(a);
+ sum += b;
+ MOZ_RELEASE_ASSERT(sum.isValid(),
+ "HTML input too large for signed 32-bit integer.");
+ return sum.value();
+}
nsIAtom*
nsHtml5Portability::newLocalNameFromBuffer(char16_t* buf, int32_t offset, int32_t length, nsHtml5AtomTable* interner)