[openssl-dev] [openssl.org #3871] Patch for latest git master to fix crypto/ec build errors (OSX)

2015-05-29 Thread Emilia Käsper via RT
Fixed in 88f4c6f3d2f884715f8f5f8eb81f0a96cbec8cef, thanks for spotting!

___
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev


[openssl-dev] [openssl.org #3871] Patch for latest git master to fix crypto/ec build errors (OSX)

2015-05-27 Thread Peter Dettman via RT
Hi,
Building latest master from github on OSX Yosemite (10.10.3) with:
 Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configured using:
 ./Configure darwin64-x86_64-cc enable-ec_nistp_64_gcc_128

I needed a few changes in crypto/ec to get things working; see attached 
patch. There's a couple of outright misspellings fixed, and changes to 
silence some warnings related to memset arguments (I'm not really sure 
if the code was wrong before).

Regards,
Pete Dettman


diff --git a/crypto/ec/ecp_nistp224.c b/crypto/ec/ecp_nistp224.c
index 0e40db4..febfcab 100644
--- a/crypto/ec/ecp_nistp224.c
+++ b/crypto/ec/ecp_nistp224.c
@@ -1070,7 +1070,7 @@ static void select_point(const u64 idx, unsigned int size,
 unsigned i, j;
 limb *outlimbs = &out[0][0];
 
-memset(out 0, sizeof(out));
+memset(out, 0, sizeof(*out) * 3);
 for (i = 0; i < size; i++) {
 const limb *inlimbs = &pre_comp[i][0][0];
 u64 mask = i ^ idx;
diff --git a/crypto/ec/ecp_nistp256.c b/crypto/ec/ecp_nistp256.c
index b4cd24d..110984b 100644
--- a/crypto/ec/ecp_nistp256.c
+++ b/crypto/ec/ecp_nistp256.c
@@ -1625,7 +1625,7 @@ static void select_point(const u64 idx, unsigned int size,
 unsigned i, j;
 u64 *outlimbs = &out[0][0];
 
-memset(out, 0, sizeof(out));
+memset(out, 0, sizeof(*out) * 3);
 
 for (i = 0; i < size; i++) {
 const u64 *inlimbs = (u64 *)&pre_comp[i][0][0];
diff --git a/crypto/ec/ecp_nistp521.c b/crypto/ec/ecp_nistp521.c
index 6e572f1..a5d7360 100644
--- a/crypto/ec/ecp_nistp521.c
+++ b/crypto/ec/ecp_nistp521.c
@@ -1471,7 +1471,7 @@ static void select_point(const limb idx, unsigned int 
size,
 unsigned i, j;
 limb *outlimbs = &out[0][0];
 
-memset(out, 0, sizeof(out));
+memset(out, 0, sizeof(*out) * 3);
 
 for (i = 0; i < size; i++) {
 const limb *inlimbs = &pre_comp[i][0][0];
@@ -1906,7 +1906,7 @@ int ec_GFp_nistp521_points_mul(const EC_GROUP *group, 
EC_POINT *r,
 pre_comp = OPENSSL_malloc(sizeof(*pre_comp) * num_points);
 if (mixed)
 tmp_felems =
-OPENSSL_malloc(sizeof(*tmp_felemts) * (num_points * 17 + 1));
+OPENSSL_malloc(sizeof(*tmp_felems) * (num_points * 17 + 1));
 if ((secrets == NULL) || (pre_comp == NULL)
 || (mixed && (tmp_felems == NULL))) {
 ECerr(EC_F_EC_GFP_NISTP521_POINTS_MUL, ERR_R_MALLOC_FAILURE);
@@ -1918,7 +1918,7 @@ int ec_GFp_nistp521_points_mul(const EC_GROUP *group, 
EC_POINT *r,
  * i.e., they contribute nothing to the linear combination
  */
 memset(secrets, 0, sizeof(*secrets) * num_points);
-memset(pre_comp, 0, sizseof(*pre_comp) * num_points);
+memset(pre_comp, 0, sizeof(*pre_comp) * num_points);
 for (i = 0; i < num_points; ++i) {
 if (i == num)
 /*
___
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev