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