ec/curve448/f_generic.c: fix VC-WIN32 debug build failure.
authorAndy Polyakov <appro@openssl.org>
Fri, 2 Mar 2018 21:16:29 +0000 (22:16 +0100)
committerAndy Polyakov <appro@openssl.org>
Sat, 3 Mar 2018 21:03:44 +0000 (22:03 +0100)
Debugging asserts had implicit casts that triggered the warnings.
However, instead of making the casts explicit it's more appropriate
to perform checks that ensure that implicit casts were safe.

ec/curve448/scalar.c: size_t-fy scalar_decode_short.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5494)

crypto/ec/curve448/f_generic.c
crypto/ec/curve448/scalar.c

index 6babea6e41717776d822d71821993d61c077b0f0..ed8f36d868f9688aae4e3efa902f67a298aa5cd8 100644 (file)
@@ -122,7 +122,7 @@ void gf_strong_reduce(gf a)
      * it was < p, so now scarry = -1 and this = x - p + 2^255 so let's add
      * back in p.  will carry back off the top for 2^255.
      */
-    assert(word_is_zero(scarry) | word_is_zero(scarry + 1));
+    assert(scarry == 0 || scarry == -1);
 
     scarry_0 = (word_t)scarry;
 
@@ -135,7 +135,7 @@ void gf_strong_reduce(gf a)
         carry >>= LIMB_PLACE_VALUE(LIMBPERM(i));
     }
 
-    assert(word_is_zero(carry + scarry_0));
+    assert(carry < 2 && ((word_t)carry + scarry_0) == 0);
 }
 
 /* Subtract two gf elements d=a-b */
index 0f14bc4b98b6a58a82146cc194fc4864a855d6eb..b5702c025570936d8c4c22010bb79d3b6cec2710 100644 (file)
@@ -135,9 +135,9 @@ void curve448_scalar_add(curve448_scalar_t out, const curve448_scalar_t a,
 
 static ossl_inline void scalar_decode_short(curve448_scalar_t s,
                                             const unsigned char *ser,
-                                            unsigned int nbytes)
+                                            size_t nbytes)
 {
-    unsigned int i, j, k = 0;
+    size_t i, j, k = 0;
 
     for (i = 0; i < C448_SCALAR_LIMBS; i++) {
         c448_word_t out = 0;