@@ -334,33 +334,35 @@ START_TEST(test_curve25519_large_signatures)
334
334
result = curve_generate_key_pair (global_context , & keys );
335
335
ck_assert_int_eq (result , 0 );
336
336
337
- uint8_t message [1048576 ];
338
- memset (message , 0 , sizeof (message ));
337
+ const int message_len = 1048576 ;
338
+ uint8_t * message = malloc (message_len );
339
+ memset (message , 0 , message_len );
339
340
340
341
signal_buffer * signature = 0 ;
341
342
342
343
result = curve_calculate_signature (global_context , & signature ,
343
- ec_key_pair_get_private (keys ), message , sizeof ( message ) );
344
+ ec_key_pair_get_private (keys ), message , message_len );
344
345
ck_assert_int_eq (result , 0 );
345
346
346
347
uint8_t * data = signal_buffer_data (signature );
347
348
size_t len = signal_buffer_len (signature );
348
349
349
350
result = curve_verify_signature (ec_key_pair_get_public (keys ),
350
- message , sizeof ( message ) , data , len );
351
+ message , message_len , data , len );
351
352
ck_assert_int_eq (result , 1 );
352
353
353
354
data [0 ] ^= 0x01 ;
354
355
355
356
result = curve_verify_signature (ec_key_pair_get_public (keys ),
356
- message , sizeof ( message ) , data , len );
357
+ message , message_len , data , len );
357
358
ck_assert_int_eq (result , 0 );
358
359
359
360
/* Cleanup */
360
361
SIGNAL_UNREF (keys );
361
362
if (signature ) {
362
363
signal_buffer_free (signature );
363
364
}
365
+ free (message );
364
366
}
365
367
END_TEST
366
368
0 commit comments