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