Avoid reading an unused byte after the buffer
authorAndy Polyakov <appro@openssl.org>
Sat, 21 Feb 2015 12:51:56 +0000 (13:51 +0100)
committerKurt Roeckx <kurt@roeckx.be>
Sat, 14 Mar 2015 17:23:41 +0000 (18:23 +0100)
Other curves don't have this problem.

Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Emilia Käsper <emilia@openssl.org>
crypto/ec/ecp_nistp224.c

index ffb50d848c6a456ba64719454c944a265527a02d..a0c7bec5db62aff76ace46ddfa3dbb0982f47006 100644 (file)
@@ -316,7 +316,7 @@ static void bin28_to_felem(felem out, const u8 in[28])
     out[0] = *((const uint64_t *)(in)) & 0x00ffffffffffffff;
     out[1] = (*((const uint64_t *)(in + 7))) & 0x00ffffffffffffff;
     out[2] = (*((const uint64_t *)(in + 14))) & 0x00ffffffffffffff;
     out[0] = *((const uint64_t *)(in)) & 0x00ffffffffffffff;
     out[1] = (*((const uint64_t *)(in + 7))) & 0x00ffffffffffffff;
     out[2] = (*((const uint64_t *)(in + 14))) & 0x00ffffffffffffff;
-    out[3] = (*((const uint64_t *)(in + 21))) & 0x00ffffffffffffff;
+    out[3] = (*((const uint64_t *)(in+20))) >> 8;
 }
 
 static void felem_to_bin28(u8 out[28], const felem in)
 }
 
 static void felem_to_bin28(u8 out[28], const felem in)