[git commit] tls: P256: do not open-code copying of struct variables

Denys Vlasenko vda.linux at googlemail.com
Sat Nov 27 17:42:27 UTC 2021


commit: https://git.busybox.net/busybox/commit/?id=9c671fe3dd2e46a28c02d266130f56a1a6296791
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/tls_sp_c32.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/networking/tls_sp_c32.c b/networking/tls_sp_c32.c
index b3f7888f5..3291b553c 100644
--- a/networking/tls_sp_c32.c
+++ b/networking/tls_sp_c32.c
@@ -865,6 +865,8 @@ static int sp_256_mul_add_8(sp_digit* r /*, const sp_digit* a, sp_digit b*/)
 }
 
 /* Reduce the number back to 256 bits using Montgomery reduction.
+ * Note: the result is NOT guaranteed to be less than p256_mod!
+ * (it is only guaranteed to fit into 256 bits).
  *
  * a   Double-wide number to reduce in place.
  * m   The single precision number representing the modulus.
@@ -1276,7 +1278,7 @@ static void sp_256_ecc_mulmod_8(sp_point* r, const sp_point* g, const sp_digit*
 	if (map)
 		sp_256_map_8(r, &t[0]);
 	else
-		memcpy(r, &t[0], sizeof(sp_point));
+		*r = t[0]; /* struct copy */
 
 	memset(t, 0, sizeof(t)); //paranoia
 }


More information about the busybox-cvs mailing list