Remove redundant length-check in |ec_wNAF_mul|.
Right now, |g_wNAF| and |p_wNAF| are of same size. This change makes GCC's "-Werror=logical-op" happy and adds a compile-time assertion in case the initial size of either array ever changes. Change-Id: I29e39a7a121a0a9d016c53da6b7c25675ddecbdc Reviewed-on: https://boringssl-review.googlesource.com/26104 Reviewed-by: David Benjamin <davidben@google.com> Commit-Queue: David Benjamin <davidben@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
This commit is contained in:
parent
02d696f2a1
commit
36714fc8ee
@ -73,6 +73,7 @@
|
|||||||
#include <openssl/err.h>
|
#include <openssl/err.h>
|
||||||
#include <openssl/mem.h>
|
#include <openssl/mem.h>
|
||||||
#include <openssl/thread.h>
|
#include <openssl/thread.h>
|
||||||
|
#include <openssl/type_check.h>
|
||||||
|
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
#include "../bn/internal.h"
|
#include "../bn/internal.h"
|
||||||
@ -250,8 +251,12 @@ int ec_wNAF_mul(const EC_GROUP *group, EC_POINT *r, const EC_SCALAR *g_scalar,
|
|||||||
size_t wsize = window_bits_for_scalar_size(bits);
|
size_t wsize = window_bits_for_scalar_size(bits);
|
||||||
size_t wNAF_len = bits + 1;
|
size_t wNAF_len = bits + 1;
|
||||||
size_t precomp_len = (size_t)1 << (wsize - 1);
|
size_t precomp_len = (size_t)1 << (wsize - 1);
|
||||||
|
|
||||||
|
OPENSSL_COMPILE_ASSERT(
|
||||||
|
OPENSSL_ARRAY_SIZE(g_wNAF) == OPENSSL_ARRAY_SIZE(p_wNAF),
|
||||||
|
g_wNAF_and_p_wNAF_are_different_sizes);
|
||||||
|
|
||||||
if (wNAF_len > OPENSSL_ARRAY_SIZE(g_wNAF) ||
|
if (wNAF_len > OPENSSL_ARRAY_SIZE(g_wNAF) ||
|
||||||
wNAF_len > OPENSSL_ARRAY_SIZE(p_wNAF) ||
|
|
||||||
2 * precomp_len > OPENSSL_ARRAY_SIZE(precomp_storage)) {
|
2 * precomp_len > OPENSSL_ARRAY_SIZE(precomp_storage)) {
|
||||||
OPENSSL_PUT_ERROR(EC, ERR_R_INTERNAL_ERROR);
|
OPENSSL_PUT_ERROR(EC, ERR_R_INTERNAL_ERROR);
|
||||||
goto err;
|
goto err;
|
||||||
|
Loading…
Reference in New Issue
Block a user