author Tim Taubert <ttaubert@mozilla.com>
Tue, 28 Nov 2017 10:00:47 +0100
changeset 445099 9db3839609e097e84106c385e53ed12202d77f8a
parent 371439 2e262535fc7358975b86240798c75cf624f39870
permissions -rw-r--r--
Bug 1413841 - Check for integer overflow in AesTask::DoCrypto(). r=keeler, a=gchang Summary: After calling mResult.SetLength(mData.Length() + 16) we should check that the integer addition didn't overflow. It seems at the moment impossible to create ArrayBuffers of size >= 0x0xfffffff0, however adding a check here doesn't hurt. mResult.Length() is passed to the PK11 API functions as a maxOut parameter and /should/ be checked by the softoken crypto algorithm implementations. AES-ECB and AES-GCM seem to do that correctly. Reviewers: keeler Reviewed By: keeler Subscribers: mcote, ttaubert, jcj, keeler Bug #: 1413841 Differential Revision: https://phabricator.services.mozilla.com/D188

# Checks run by clang-tidy over Mozilla code.

# The following checks are currently enabled:
# * modernize-raw-string-literal -
#     Replace string literals containing escaped characters with raw string literals
# * modernize-use-bool-literals
#     Replace integer literals which are cast to bool
# * modernize-loop-convert
#     Converts for(...; ...; ...) loops to use the new range-based loops in C++11
# * modernize-use-default
#     Replace default bodies of special member functions with = default;
# * modernize-use-override
#     Use C++11's override and remove virtual where applicable

Checks:          '-*, modernize-raw-string-literal, modernize-use-bool-literals, modernize-loop-convert, modernize-use-default, modernize-use-override'