diff options
Diffstat (limited to 'src/lib/libcrypto/ec')
-rw-r--r-- | src/lib/libcrypto/ec/ec_mult.c | 14 | ||||
-rw-r--r-- | src/lib/libcrypto/ec/ecp_nistp224.c | 3 | ||||
-rw-r--r-- | src/lib/libcrypto/ec/ecp_nistp256.c | 7 | ||||
-rw-r--r-- | src/lib/libcrypto/ec/ecp_nistp521.c | 7 | ||||
-rw-r--r-- | src/lib/libcrypto/ec/ecp_smpl.c | 2 |
5 files changed, 20 insertions, 13 deletions
diff --git a/src/lib/libcrypto/ec/ec_mult.c b/src/lib/libcrypto/ec/ec_mult.c index c0525c4940..b3bd34d82d 100644 --- a/src/lib/libcrypto/ec/ec_mult.c +++ b/src/lib/libcrypto/ec/ec_mult.c | |||
@@ -425,11 +425,11 @@ ec_wNAF_mul(const EC_GROUP * group, EC_POINT * r, const BIGNUM * scalar, | |||
425 | } | 425 | } |
426 | totalnum = num + numblocks; | 426 | totalnum = num + numblocks; |
427 | 427 | ||
428 | wsize = malloc(totalnum * sizeof wsize[0]); | 428 | wsize = reallocarray(NULL, totalnum, sizeof wsize[0]); |
429 | wNAF_len = malloc(totalnum * sizeof wNAF_len[0]); | 429 | wNAF_len = reallocarray(NULL, totalnum, sizeof wNAF_len[0]); |
430 | wNAF = malloc((totalnum + 1) * sizeof wNAF[0]); /* includes space for | 430 | /* includes space for pivot */ |
431 | * pivot */ | 431 | wNAF = reallocarray(NULL, (totalnum + 1), sizeof wNAF[0]); |
432 | val_sub = malloc(totalnum * sizeof val_sub[0]); | 432 | val_sub = reallocarray(NULL, totalnum, sizeof val_sub[0]); |
433 | 433 | ||
434 | if (!wsize || !wNAF_len || !wNAF || !val_sub) { | 434 | if (!wsize || !wNAF_len || !wNAF || !val_sub) { |
435 | ECerr(EC_F_EC_WNAF_MUL, ERR_R_MALLOC_FAILURE); | 435 | ECerr(EC_F_EC_WNAF_MUL, ERR_R_MALLOC_FAILURE); |
@@ -573,7 +573,7 @@ ec_wNAF_mul(const EC_GROUP * group, EC_POINT * r, const BIGNUM * scalar, | |||
573 | * to a subarray of 'pre_comp->points' if we already have | 573 | * to a subarray of 'pre_comp->points' if we already have |
574 | * precomputation. | 574 | * precomputation. |
575 | */ | 575 | */ |
576 | val = malloc((num_val + 1) * sizeof val[0]); | 576 | val = reallocarray(NULL, (num_val + 1), sizeof val[0]); |
577 | if (val == NULL) { | 577 | if (val == NULL) { |
578 | ECerr(EC_F_EC_WNAF_MUL, ERR_R_MALLOC_FAILURE); | 578 | ECerr(EC_F_EC_WNAF_MUL, ERR_R_MALLOC_FAILURE); |
579 | goto err; | 579 | goto err; |
@@ -790,7 +790,7 @@ ec_wNAF_precompute_mult(EC_GROUP * group, BN_CTX * ctx) | |||
790 | num = pre_points_per_block * numblocks; /* number of points to | 790 | num = pre_points_per_block * numblocks; /* number of points to |
791 | * compute and store */ | 791 | * compute and store */ |
792 | 792 | ||
793 | points = malloc(sizeof(EC_POINT *) * (num + 1)); | 793 | points = reallocarray(NULL, sizeof(EC_POINT *), (num + 1)); |
794 | if (!points) { | 794 | if (!points) { |
795 | ECerr(EC_F_EC_WNAF_PRECOMPUTE_MULT, ERR_R_MALLOC_FAILURE); | 795 | ECerr(EC_F_EC_WNAF_PRECOMPUTE_MULT, ERR_R_MALLOC_FAILURE); |
796 | goto err; | 796 | goto err; |
diff --git a/src/lib/libcrypto/ec/ecp_nistp224.c b/src/lib/libcrypto/ec/ecp_nistp224.c index 53aced54d5..6e9b9fac3c 100644 --- a/src/lib/libcrypto/ec/ecp_nistp224.c +++ b/src/lib/libcrypto/ec/ecp_nistp224.c | |||
@@ -1438,7 +1438,8 @@ ec_GFp_nistp224_points_mul(const EC_GROUP * group, EC_POINT * r, | |||
1438 | secrets = calloc(num_points, sizeof(felem_bytearray)); | 1438 | secrets = calloc(num_points, sizeof(felem_bytearray)); |
1439 | pre_comp = calloc(num_points, 17 * 3 * sizeof(felem)); | 1439 | pre_comp = calloc(num_points, 17 * 3 * sizeof(felem)); |
1440 | if (mixed) | 1440 | if (mixed) |
1441 | tmp_felems = malloc((num_points * 17 + 1) * sizeof(felem)); | 1441 | tmp_felems = reallocarray(NULL, |
1442 | (num_points * 17 + 1), sizeof(felem)); | ||
1442 | if ((secrets == NULL) || (pre_comp == NULL) || (mixed && (tmp_felems == NULL))) { | 1443 | if ((secrets == NULL) || (pre_comp == NULL) || (mixed && (tmp_felems == NULL))) { |
1443 | ECerr(EC_F_EC_GFP_NISTP224_POINTS_MUL, ERR_R_MALLOC_FAILURE); | 1444 | ECerr(EC_F_EC_GFP_NISTP224_POINTS_MUL, ERR_R_MALLOC_FAILURE); |
1444 | goto err; | 1445 | goto err; |
diff --git a/src/lib/libcrypto/ec/ecp_nistp256.c b/src/lib/libcrypto/ec/ecp_nistp256.c index df80cc2b8a..b2398e106c 100644 --- a/src/lib/libcrypto/ec/ecp_nistp256.c +++ b/src/lib/libcrypto/ec/ecp_nistp256.c | |||
@@ -1987,8 +1987,11 @@ ec_GFp_nistp256_points_mul(const EC_GROUP * group, EC_POINT * r, | |||
1987 | } | 1987 | } |
1988 | secrets = calloc(num_points, sizeof(felem_bytearray)); | 1988 | secrets = calloc(num_points, sizeof(felem_bytearray)); |
1989 | pre_comp = calloc(num_points, 17 * 3 * sizeof(smallfelem)); | 1989 | pre_comp = calloc(num_points, 17 * 3 * sizeof(smallfelem)); |
1990 | if (mixed) | 1990 | if (mixed) { |
1991 | tmp_smallfelems = malloc((num_points * 17 + 1) * sizeof(smallfelem)); | 1991 | /* XXX should do more int overflow checking */ |
1992 | tmp_smallfelems = reallocarray(NULL, | ||
1993 | (num_points * 17 + 1), sizeof(smallfelem)); | ||
1994 | } | ||
1992 | if ((secrets == NULL) || (pre_comp == NULL) || (mixed && (tmp_smallfelems == NULL))) { | 1995 | if ((secrets == NULL) || (pre_comp == NULL) || (mixed && (tmp_smallfelems == NULL))) { |
1993 | ECerr(EC_F_EC_GFP_NISTP256_POINTS_MUL, ERR_R_MALLOC_FAILURE); | 1996 | ECerr(EC_F_EC_GFP_NISTP256_POINTS_MUL, ERR_R_MALLOC_FAILURE); |
1994 | goto err; | 1997 | goto err; |
diff --git a/src/lib/libcrypto/ec/ecp_nistp521.c b/src/lib/libcrypto/ec/ecp_nistp521.c index 6792c5b71d..083e017cdc 100644 --- a/src/lib/libcrypto/ec/ecp_nistp521.c +++ b/src/lib/libcrypto/ec/ecp_nistp521.c | |||
@@ -1874,8 +1874,11 @@ ec_GFp_nistp521_points_mul(const EC_GROUP * group, EC_POINT * r, | |||
1874 | } | 1874 | } |
1875 | secrets = calloc(num_points, sizeof(felem_bytearray)); | 1875 | secrets = calloc(num_points, sizeof(felem_bytearray)); |
1876 | pre_comp = calloc(num_points, 17 * 3 * sizeof(felem)); | 1876 | pre_comp = calloc(num_points, 17 * 3 * sizeof(felem)); |
1877 | if (mixed) | 1877 | if (mixed) { |
1878 | tmp_felems = malloc((num_points * 17 + 1) * sizeof(felem)); | 1878 | /* XXX should do more int overflow checking */ |
1879 | tmp_felems = reallocarray(NULL, | ||
1880 | (num_points * 17 + 1), sizeof(felem)); | ||
1881 | } | ||
1879 | if ((secrets == NULL) || (pre_comp == NULL) || (mixed && (tmp_felems == NULL))) { | 1882 | if ((secrets == NULL) || (pre_comp == NULL) || (mixed && (tmp_felems == NULL))) { |
1880 | ECerr(EC_F_EC_GFP_NISTP521_POINTS_MUL, ERR_R_MALLOC_FAILURE); | 1883 | ECerr(EC_F_EC_GFP_NISTP521_POINTS_MUL, ERR_R_MALLOC_FAILURE); |
1881 | goto err; | 1884 | goto err; |
diff --git a/src/lib/libcrypto/ec/ecp_smpl.c b/src/lib/libcrypto/ec/ecp_smpl.c index b87410120d..46783a47a8 100644 --- a/src/lib/libcrypto/ec/ecp_smpl.c +++ b/src/lib/libcrypto/ec/ecp_smpl.c | |||
@@ -1257,7 +1257,7 @@ ec_GFp_simple_points_make_affine(const EC_GROUP * group, size_t num, EC_POINT * | |||
1257 | */ | 1257 | */ |
1258 | pow2 <<= 1; | 1258 | pow2 <<= 1; |
1259 | 1259 | ||
1260 | heap = malloc(pow2 * sizeof heap[0]); | 1260 | heap = reallocarray(NULL, pow2, sizeof heap[0]); |
1261 | if (heap == NULL) | 1261 | if (heap == NULL) |
1262 | goto err; | 1262 | goto err; |
1263 | 1263 | ||