@@ -60,15 +60,15 @@ void test_xonly_pubkey(void) {
6060 sk [0 ] = 1 ;
6161 CHECK (secp256k1_ec_pubkey_create (ctx , & pk , sk ) == 1 );
6262 CHECK (secp256k1_xonly_pubkey_from_pubkey (ctx , & xonly_pk , & pk_parity , & pk ) == 1 );
63- CHECK (memcmp (& pk , & xonly_pk , sizeof (pk )) == 0 );
63+ CHECK (secp256k1_memcmp_var (& pk , & xonly_pk , sizeof (pk )) == 0 );
6464 CHECK (pk_parity == 0 );
6565
6666 /* Choose a secret key such that pubkey and xonly_pubkey are each others
6767 * negation. */
6868 sk [0 ] = 2 ;
6969 CHECK (secp256k1_ec_pubkey_create (ctx , & pk , sk ) == 1 );
7070 CHECK (secp256k1_xonly_pubkey_from_pubkey (ctx , & xonly_pk , & pk_parity , & pk ) == 1 );
71- CHECK (memcmp (& xonly_pk , & pk , sizeof (xonly_pk )) != 0 );
71+ CHECK (secp256k1_memcmp_var (& xonly_pk , & pk , sizeof (xonly_pk )) != 0 );
7272 CHECK (pk_parity == 1 );
7373 secp256k1_pubkey_load (ctx , & pk1 , & pk );
7474 secp256k1_pubkey_load (ctx , & pk2 , (secp256k1_pubkey * ) & xonly_pk );
@@ -81,7 +81,7 @@ void test_xonly_pubkey(void) {
8181 CHECK (secp256k1_xonly_pubkey_serialize (none , NULL , & xonly_pk ) == 0 );
8282 CHECK (ecount == 1 );
8383 CHECK (secp256k1_xonly_pubkey_serialize (none , buf32 , NULL ) == 0 );
84- CHECK (memcmp (buf32 , zeros64 , 32 ) == 0 );
84+ CHECK (secp256k1_memcmp_var (buf32 , zeros64 , 32 ) == 0 );
8585 CHECK (ecount == 2 );
8686 {
8787 /* A pubkey filled with 0s will fail to serialize due to pubkey_load
@@ -104,17 +104,17 @@ void test_xonly_pubkey(void) {
104104 CHECK (secp256k1_xonly_pubkey_from_pubkey (none , & xonly_pk , NULL , & pk ) == 1 );
105105 CHECK (secp256k1_xonly_pubkey_serialize (ctx , buf32 , & xonly_pk ) == 1 );
106106 CHECK (secp256k1_xonly_pubkey_parse (ctx , & xonly_pk_tmp , buf32 ) == 1 );
107- CHECK (memcmp (& xonly_pk , & xonly_pk_tmp , sizeof (xonly_pk )) == 0 );
107+ CHECK (secp256k1_memcmp_var (& xonly_pk , & xonly_pk_tmp , sizeof (xonly_pk )) == 0 );
108108
109109 /* Test parsing invalid field elements */
110110 memset (& xonly_pk , 1 , sizeof (xonly_pk ));
111111 /* Overflowing field element */
112112 CHECK (secp256k1_xonly_pubkey_parse (none , & xonly_pk , ones32 ) == 0 );
113- CHECK (memcmp (& xonly_pk , zeros64 , sizeof (xonly_pk )) == 0 );
113+ CHECK (secp256k1_memcmp_var (& xonly_pk , zeros64 , sizeof (xonly_pk )) == 0 );
114114 memset (& xonly_pk , 1 , sizeof (xonly_pk ));
115115 /* There's no point with x-coordinate 0 on secp256k1 */
116116 CHECK (secp256k1_xonly_pubkey_parse (none , & xonly_pk , zeros64 ) == 0 );
117- CHECK (memcmp (& xonly_pk , zeros64 , sizeof (xonly_pk )) == 0 );
117+ CHECK (secp256k1_memcmp_var (& xonly_pk , zeros64 , sizeof (xonly_pk )) == 0 );
118118 /* If a random 32-byte string can not be parsed with ec_pubkey_parse
119119 * (because interpreted as X coordinate it does not correspond to a point on
120120 * the curve) then xonly_pubkey_parse should fail as well. */
@@ -125,7 +125,7 @@ void test_xonly_pubkey(void) {
125125 if (!secp256k1_ec_pubkey_parse (ctx , & pk , rand33 , 33 )) {
126126 memset (& xonly_pk , 1 , sizeof (xonly_pk ));
127127 CHECK (secp256k1_xonly_pubkey_parse (ctx , & xonly_pk , & rand33 [1 ]) == 0 );
128- CHECK (memcmp (& xonly_pk , zeros64 , sizeof (xonly_pk )) == 0 );
128+ CHECK (secp256k1_memcmp_var (& xonly_pk , zeros64 , sizeof (xonly_pk )) == 0 );
129129 } else {
130130 CHECK (secp256k1_xonly_pubkey_parse (ctx , & xonly_pk , & rand33 [1 ]) == 1 );
131131 }
@@ -170,15 +170,15 @@ void test_xonly_pubkey_tweak(void) {
170170 CHECK (secp256k1_xonly_pubkey_tweak_add (verify , & output_pk , NULL , tweak ) == 0 );
171171 CHECK (ecount == 4 );
172172 /* NULL internal_xonly_pk zeroes the output_pk */
173- CHECK (memcmp (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
173+ CHECK (secp256k1_memcmp_var (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
174174 CHECK (secp256k1_xonly_pubkey_tweak_add (verify , & output_pk , & internal_xonly_pk , NULL ) == 0 );
175175 CHECK (ecount == 5 );
176176 /* NULL tweak zeroes the output_pk */
177- CHECK (memcmp (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
177+ CHECK (secp256k1_memcmp_var (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
178178
179179 /* Invalid tweak zeroes the output_pk */
180180 CHECK (secp256k1_xonly_pubkey_tweak_add (verify , & output_pk , & internal_xonly_pk , overflows ) == 0 );
181- CHECK (memcmp (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
181+ CHECK (secp256k1_memcmp_var (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
182182
183183 /* A zero tweak is fine */
184184 CHECK (secp256k1_xonly_pubkey_tweak_add (verify , & output_pk , & internal_xonly_pk , zeros64 ) == 1 );
@@ -193,7 +193,7 @@ void test_xonly_pubkey_tweak(void) {
193193 secp256k1_scalar_get_b32 (tweak , & scalar_tweak );
194194 CHECK ((secp256k1_xonly_pubkey_tweak_add (verify , & output_pk , & internal_xonly_pk , sk ) == 0 )
195195 || (secp256k1_xonly_pubkey_tweak_add (verify , & output_pk , & internal_xonly_pk , tweak ) == 0 ));
196- CHECK (memcmp (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
196+ CHECK (secp256k1_memcmp_var (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
197197 }
198198
199199 /* Invalid pk with a valid tweak */
@@ -202,7 +202,7 @@ void test_xonly_pubkey_tweak(void) {
202202 ecount = 0 ;
203203 CHECK (secp256k1_xonly_pubkey_tweak_add (verify , & output_pk , & internal_xonly_pk , tweak ) == 0 );
204204 CHECK (ecount == 1 );
205- CHECK (memcmp (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
205+ CHECK (secp256k1_memcmp_var (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
206206
207207 secp256k1_context_destroy (none );
208208 secp256k1_context_destroy (sign );
@@ -268,7 +268,7 @@ void test_xonly_pubkey_tweak_check(void) {
268268 /* Overflowing tweak not allowed */
269269 CHECK (secp256k1_xonly_pubkey_tweak_add_check (ctx , output_pk32 , pk_parity , & internal_xonly_pk , overflows ) == 0 );
270270 CHECK (secp256k1_xonly_pubkey_tweak_add (ctx , & output_pk , & internal_xonly_pk , overflows ) == 0 );
271- CHECK (memcmp (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
271+ CHECK (secp256k1_memcmp_var (& output_pk , zeros64 , sizeof (output_pk )) == 0 );
272272 CHECK (ecount == 5 );
273273
274274 secp256k1_context_destroy (none );
@@ -329,23 +329,23 @@ void test_keypair(void) {
329329 ecount = 0 ;
330330 secp256k1_testrand256 (sk );
331331 CHECK (secp256k1_keypair_create (none , & keypair , sk ) == 0 );
332- CHECK (memcmp (zeros96 , & keypair , sizeof (keypair )) == 0 );
332+ CHECK (secp256k1_memcmp_var (zeros96 , & keypair , sizeof (keypair )) == 0 );
333333 CHECK (ecount == 1 );
334334 CHECK (secp256k1_keypair_create (verify , & keypair , sk ) == 0 );
335- CHECK (memcmp (zeros96 , & keypair , sizeof (keypair )) == 0 );
335+ CHECK (secp256k1_memcmp_var (zeros96 , & keypair , sizeof (keypair )) == 0 );
336336 CHECK (ecount == 2 );
337337 CHECK (secp256k1_keypair_create (sign , & keypair , sk ) == 1 );
338338 CHECK (secp256k1_keypair_create (sign , NULL , sk ) == 0 );
339339 CHECK (ecount == 3 );
340340 CHECK (secp256k1_keypair_create (sign , & keypair , NULL ) == 0 );
341- CHECK (memcmp (zeros96 , & keypair , sizeof (keypair )) == 0 );
341+ CHECK (secp256k1_memcmp_var (zeros96 , & keypair , sizeof (keypair )) == 0 );
342342 CHECK (ecount == 4 );
343343
344344 /* Invalid secret key */
345345 CHECK (secp256k1_keypair_create (sign , & keypair , zeros96 ) == 0 );
346- CHECK (memcmp (zeros96 , & keypair , sizeof (keypair )) == 0 );
346+ CHECK (secp256k1_memcmp_var (zeros96 , & keypair , sizeof (keypair )) == 0 );
347347 CHECK (secp256k1_keypair_create (sign , & keypair , overflows ) == 0 );
348- CHECK (memcmp (zeros96 , & keypair , sizeof (keypair )) == 0 );
348+ CHECK (secp256k1_memcmp_var (zeros96 , & keypair , sizeof (keypair )) == 0 );
349349
350350 /* Test keypair_pub */
351351 ecount = 0 ;
@@ -356,18 +356,18 @@ void test_keypair(void) {
356356 CHECK (ecount == 1 );
357357 CHECK (secp256k1_keypair_pub (none , & pk , NULL ) == 0 );
358358 CHECK (ecount == 2 );
359- CHECK (memcmp (zeros96 , & pk , sizeof (pk )) == 0 );
359+ CHECK (secp256k1_memcmp_var (zeros96 , & pk , sizeof (pk )) == 0 );
360360
361361 /* Using an invalid keypair is fine for keypair_pub */
362362 memset (& keypair , 0 , sizeof (keypair ));
363363 CHECK (secp256k1_keypair_pub (none , & pk , & keypair ) == 1 );
364- CHECK (memcmp (zeros96 , & pk , sizeof (pk )) == 0 );
364+ CHECK (secp256k1_memcmp_var (zeros96 , & pk , sizeof (pk )) == 0 );
365365
366366 /* keypair holds the same pubkey as pubkey_create */
367367 CHECK (secp256k1_ec_pubkey_create (sign , & pk , sk ) == 1 );
368368 CHECK (secp256k1_keypair_create (sign , & keypair , sk ) == 1 );
369369 CHECK (secp256k1_keypair_pub (none , & pk_tmp , & keypair ) == 1 );
370- CHECK (memcmp (& pk , & pk_tmp , sizeof (pk )) == 0 );
370+ CHECK (secp256k1_memcmp_var (& pk , & pk_tmp , sizeof (pk )) == 0 );
371371
372372 /** Test keypair_xonly_pub **/
373373 ecount = 0 ;
@@ -379,21 +379,21 @@ void test_keypair(void) {
379379 CHECK (secp256k1_keypair_xonly_pub (none , & xonly_pk , NULL , & keypair ) == 1 );
380380 CHECK (secp256k1_keypair_xonly_pub (none , & xonly_pk , & pk_parity , NULL ) == 0 );
381381 CHECK (ecount == 2 );
382- CHECK (memcmp (zeros96 , & xonly_pk , sizeof (xonly_pk )) == 0 );
382+ CHECK (secp256k1_memcmp_var (zeros96 , & xonly_pk , sizeof (xonly_pk )) == 0 );
383383 /* Using an invalid keypair will set the xonly_pk to 0 (first reset
384384 * xonly_pk). */
385385 CHECK (secp256k1_keypair_xonly_pub (none , & xonly_pk , & pk_parity , & keypair ) == 1 );
386386 memset (& keypair , 0 , sizeof (keypair ));
387387 CHECK (secp256k1_keypair_xonly_pub (none , & xonly_pk , & pk_parity , & keypair ) == 0 );
388- CHECK (memcmp (zeros96 , & xonly_pk , sizeof (xonly_pk )) == 0 );
388+ CHECK (secp256k1_memcmp_var (zeros96 , & xonly_pk , sizeof (xonly_pk )) == 0 );
389389 CHECK (ecount == 3 );
390390
391391 /** keypair holds the same xonly pubkey as pubkey_create **/
392392 CHECK (secp256k1_ec_pubkey_create (sign , & pk , sk ) == 1 );
393393 CHECK (secp256k1_xonly_pubkey_from_pubkey (none , & xonly_pk , & pk_parity , & pk ) == 1 );
394394 CHECK (secp256k1_keypair_create (sign , & keypair , sk ) == 1 );
395395 CHECK (secp256k1_keypair_xonly_pub (none , & xonly_pk_tmp , & pk_parity_tmp , & keypair ) == 1 );
396- CHECK (memcmp (& xonly_pk , & xonly_pk_tmp , sizeof (pk )) == 0 );
396+ CHECK (secp256k1_memcmp_var (& xonly_pk , & xonly_pk_tmp , sizeof (pk )) == 0 );
397397 CHECK (pk_parity == pk_parity_tmp );
398398
399399 secp256k1_context_destroy (none );
@@ -429,12 +429,12 @@ void test_keypair_add(void) {
429429 CHECK (secp256k1_keypair_xonly_tweak_add (verify , & keypair , NULL ) == 0 );
430430 CHECK (ecount == 4 );
431431 /* This does not set the keypair to zeroes */
432- CHECK (memcmp (& keypair , zeros96 , sizeof (keypair )) != 0 );
432+ CHECK (secp256k1_memcmp_var (& keypair , zeros96 , sizeof (keypair )) != 0 );
433433
434434 /* Invalid tweak zeroes the keypair */
435435 CHECK (secp256k1_keypair_create (ctx , & keypair , sk ) == 1 );
436436 CHECK (secp256k1_keypair_xonly_tweak_add (ctx , & keypair , overflows ) == 0 );
437- CHECK (memcmp (& keypair , zeros96 , sizeof (keypair )) == 0 );
437+ CHECK (secp256k1_memcmp_var (& keypair , zeros96 , sizeof (keypair )) == 0 );
438438
439439 /* A zero tweak is fine */
440440 CHECK (secp256k1_keypair_create (ctx , & keypair , sk ) == 1 );
@@ -454,8 +454,8 @@ void test_keypair_add(void) {
454454 secp256k1_scalar_get_b32 (tweak , & scalar_tweak );
455455 CHECK ((secp256k1_keypair_xonly_tweak_add (ctx , & keypair , sk ) == 0 )
456456 || (secp256k1_keypair_xonly_tweak_add (ctx , & keypair_tmp , tweak ) == 0 ));
457- CHECK (memcmp (& keypair , zeros96 , sizeof (keypair )) == 0
458- || memcmp (& keypair_tmp , zeros96 , sizeof (keypair_tmp )) == 0 );
457+ CHECK (secp256k1_memcmp_var (& keypair , zeros96 , sizeof (keypair )) == 0
458+ || secp256k1_memcmp_var (& keypair_tmp , zeros96 , sizeof (keypair_tmp )) == 0 );
459459 }
460460
461461 /* Invalid keypair with a valid tweak */
@@ -464,7 +464,7 @@ void test_keypair_add(void) {
464464 ecount = 0 ;
465465 CHECK (secp256k1_keypair_xonly_tweak_add (verify , & keypair , tweak ) == 0 );
466466 CHECK (ecount == 1 );
467- CHECK (memcmp (& keypair , zeros96 , sizeof (keypair )) == 0 );
467+ CHECK (secp256k1_memcmp_var (& keypair , zeros96 , sizeof (keypair )) == 0 );
468468 /* Only seckey part of keypair invalid */
469469 CHECK (secp256k1_keypair_create (ctx , & keypair , sk ) == 1 );
470470 memset (& keypair , 0 , 32 );
@@ -498,11 +498,11 @@ void test_keypair_add(void) {
498498 /* Check that the resulting pubkey matches xonly_pubkey_tweak_add */
499499 CHECK (secp256k1_keypair_pub (ctx , & output_pk_xy , & keypair ) == 1 );
500500 CHECK (secp256k1_xonly_pubkey_tweak_add (ctx , & output_pk_expected , & internal_pk , tweak ) == 1 );
501- CHECK (memcmp (& output_pk_xy , & output_pk_expected , sizeof (output_pk_xy )) == 0 );
501+ CHECK (secp256k1_memcmp_var (& output_pk_xy , & output_pk_expected , sizeof (output_pk_xy )) == 0 );
502502
503503 /* Check that the secret key in the keypair is tweaked correctly */
504504 CHECK (secp256k1_ec_pubkey_create (ctx , & output_pk_expected , & keypair .data [0 ]) == 1 );
505- CHECK (memcmp (& output_pk_xy , & output_pk_expected , sizeof (output_pk_xy )) == 0 );
505+ CHECK (secp256k1_memcmp_var (& output_pk_xy , & output_pk_expected , sizeof (output_pk_xy )) == 0 );
506506 }
507507 secp256k1_context_destroy (none );
508508 secp256k1_context_destroy (sign );
0 commit comments