Skip to content

Commit e89278f

Browse files
Don't use reserved identifiers memczero and benchmark_verify_t
As identified in #829 and #833. Fixes #829. Since we touch this anyway, this commit additionally makes the identifiers in the benchmark files a little bit more consistent.
1 parent c6b6b8f commit e89278f

File tree

7 files changed

+22
-22
lines changed

7 files changed

+22
-22
lines changed

src/bench_sign.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ typedef struct {
1212
secp256k1_context* ctx;
1313
unsigned char msg[32];
1414
unsigned char key[32];
15-
} bench_sign;
15+
} bench_sign_data;
1616

1717
static void bench_sign_setup(void* arg) {
1818
int i;
19-
bench_sign *data = (bench_sign*)arg;
19+
bench_sign_data *data = (bench_sign_data*)arg;
2020

2121
for (i = 0; i < 32; i++) {
2222
data->msg[i] = i + 1;
@@ -28,7 +28,7 @@ static void bench_sign_setup(void* arg) {
2828

2929
static void bench_sign_run(void* arg, int iters) {
3030
int i;
31-
bench_sign *data = (bench_sign*)arg;
31+
bench_sign_data *data = (bench_sign_data*)arg;
3232

3333
unsigned char sig[74];
3434
for (i = 0; i < iters; i++) {
@@ -45,7 +45,7 @@ static void bench_sign_run(void* arg, int iters) {
4545
}
4646

4747
int main(void) {
48-
bench_sign data;
48+
bench_sign_data data;
4949

5050
int iters = get_iters(20000);
5151

src/bench_verify.c

+8-8
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ typedef struct {
2929
#ifdef ENABLE_OPENSSL_TESTS
3030
EC_GROUP* ec_group;
3131
#endif
32-
} benchmark_verify_t;
32+
} bench_verify_data;
3333

34-
static void benchmark_verify(void* arg, int iters) {
34+
static void bench_verify(void* arg, int iters) {
3535
int i;
36-
benchmark_verify_t* data = (benchmark_verify_t*)arg;
36+
bench_verify_data* data = (bench_verify_data*)arg;
3737

3838
for (i = 0; i < iters; i++) {
3939
secp256k1_pubkey pubkey;
@@ -51,9 +51,9 @@ static void benchmark_verify(void* arg, int iters) {
5151
}
5252

5353
#ifdef ENABLE_OPENSSL_TESTS
54-
static void benchmark_verify_openssl(void* arg, int iters) {
54+
static void bench_verify_openssl(void* arg, int iters) {
5555
int i;
56-
benchmark_verify_t* data = (benchmark_verify_t*)arg;
56+
bench_verify_data* data = (bench_verify_data*)arg;
5757

5858
for (i = 0; i < iters; i++) {
5959
data->sig[data->siglen - 1] ^= (i & 0xFF);
@@ -84,7 +84,7 @@ int main(void) {
8484
int i;
8585
secp256k1_pubkey pubkey;
8686
secp256k1_ecdsa_signature sig;
87-
benchmark_verify_t data;
87+
bench_verify_data data;
8888

8989
int iters = get_iters(20000);
9090

@@ -103,10 +103,10 @@ int main(void) {
103103
data.pubkeylen = 33;
104104
CHECK(secp256k1_ec_pubkey_serialize(data.ctx, data.pubkey, &data.pubkeylen, &pubkey, SECP256K1_EC_COMPRESSED) == 1);
105105

106-
run_benchmark("ecdsa_verify", benchmark_verify, NULL, NULL, &data, 10, iters);
106+
run_benchmark("ecdsa_verify", bench_verify, NULL, NULL, &data, 10, iters);
107107
#ifdef ENABLE_OPENSSL_TESTS
108108
data.ec_group = EC_GROUP_new_by_curve_name(NID_secp256k1);
109-
run_benchmark("ecdsa_verify_openssl", benchmark_verify_openssl, NULL, NULL, &data, 10, iters);
109+
run_benchmark("ecdsa_verify_openssl", bench_verify_openssl, NULL, NULL, &data, 10, iters);
110110
EC_GROUP_free(data.ec_group);
111111
#endif
112112

src/modules/extrakeys/main_impl.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ int secp256k1_keypair_create(const secp256k1_context* ctx, secp256k1_keypair *ke
180180

181181
ret = secp256k1_ec_pubkey_create_helper(&ctx->ecmult_gen_ctx, &sk, &pk, seckey32);
182182
secp256k1_keypair_save(keypair, &sk, &pk);
183-
memczero(keypair, sizeof(*keypair), !ret);
183+
secp256k1_memczero(keypair, sizeof(*keypair), !ret);
184184

185185
secp256k1_scalar_clear(&sk);
186186
return ret;

src/modules/schnorrsig/main_impl.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ int secp256k1_schnorrsig_sign(const secp256k1_context* ctx, unsigned char *sig64
179179
secp256k1_scalar_add(&e, &e, &k);
180180
secp256k1_scalar_get_b32(&sig64[32], &e);
181181

182-
memczero(sig64, 64, !ret);
182+
secp256k1_memczero(sig64, 64, !ret);
183183
secp256k1_scalar_clear(&k);
184184
secp256k1_scalar_clear(&sk);
185185
memset(seckey, 0, sizeof(seckey));

src/secp256k1.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -580,7 +580,7 @@ int secp256k1_ec_pubkey_create(const secp256k1_context* ctx, secp256k1_pubkey *p
580580

581581
ret = secp256k1_ec_pubkey_create_helper(&ctx->ecmult_gen_ctx, &seckey_scalar, &p, seckey);
582582
secp256k1_pubkey_save(pubkey, &p);
583-
memczero(pubkey, sizeof(*pubkey), !ret);
583+
secp256k1_memczero(pubkey, sizeof(*pubkey), !ret);
584584

585585
secp256k1_scalar_clear(&seckey_scalar);
586586
return ret;

src/tests.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -5444,18 +5444,18 @@ void run_ecdsa_openssl(void) {
54445444
# include "modules/schnorrsig/tests_impl.h"
54455445
#endif
54465446

5447-
void run_memczero_test(void) {
5447+
void run_secp256k1_memczero_test(void) {
54485448
unsigned char buf1[6] = {1, 2, 3, 4, 5, 6};
54495449
unsigned char buf2[sizeof(buf1)];
54505450

5451-
/* memczero(..., ..., 0) is a noop. */
5451+
/* secp256k1_memczero(..., ..., 0) is a noop. */
54525452
memcpy(buf2, buf1, sizeof(buf1));
5453-
memczero(buf1, sizeof(buf1), 0);
5453+
secp256k1_memczero(buf1, sizeof(buf1), 0);
54545454
CHECK(secp256k1_memcmp_var(buf1, buf2, sizeof(buf1)) == 0);
54555455

5456-
/* memczero(..., ..., 1) zeros the buffer. */
5456+
/* secp256k1_memczero(..., ..., 1) zeros the buffer. */
54575457
memset(buf2, 0, sizeof(buf2));
5458-
memczero(buf1, sizeof(buf1) , 1);
5458+
secp256k1_memczero(buf1, sizeof(buf1) , 1);
54595459
CHECK(secp256k1_memcmp_var(buf1, buf2, sizeof(buf1)) == 0);
54605460
}
54615461

@@ -5723,7 +5723,7 @@ int main(int argc, char **argv) {
57235723
#endif
57245724

57255725
/* util tests */
5726-
run_memczero_test();
5726+
run_secp256k1_memczero_test();
57275727

57285728
run_cmov_tests();
57295729

src/util.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ static SECP256K1_INLINE void *manual_alloc(void** prealloc_ptr, size_t alloc_siz
202202
#endif
203203

204204
/* Zero memory if flag == 1. Flag must be 0 or 1. Constant time. */
205-
static SECP256K1_INLINE void memczero(void *s, size_t len, int flag) {
205+
static SECP256K1_INLINE void secp256k1_memczero(void *s, size_t len, int flag) {
206206
unsigned char *p = (unsigned char *)s;
207207
/* Access flag with a volatile-qualified lvalue.
208208
This prevents clang from figuring out (after inlining) that flag can

0 commit comments

Comments
 (0)