Skip to content

Commit e0b00f3

Browse files
committed
Tests: Allocate large signature message on heap
Some platform seems to not like 1MB on the stack...
1 parent 3c7aa49 commit e0b00f3

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

tests/test_curve25519.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -334,33 +334,35 @@ START_TEST(test_curve25519_large_signatures)
334334
result = curve_generate_key_pair(global_context, &keys);
335335
ck_assert_int_eq(result, 0);
336336

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);
339340

340341
signal_buffer *signature = 0;
341342

342343
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);
344345
ck_assert_int_eq(result, 0);
345346

346347
uint8_t *data = signal_buffer_data(signature);
347348
size_t len = signal_buffer_len(signature);
348349

349350
result = curve_verify_signature(ec_key_pair_get_public(keys),
350-
message, sizeof(message), data, len);
351+
message, message_len, data, len);
351352
ck_assert_int_eq(result, 1);
352353

353354
data[0] ^= 0x01;
354355

355356
result = curve_verify_signature(ec_key_pair_get_public(keys),
356-
message, sizeof(message), data, len);
357+
message, message_len, data, len);
357358
ck_assert_int_eq(result, 0);
358359

359360
/* Cleanup */
360361
SIGNAL_UNREF(keys);
361362
if(signature) {
362363
signal_buffer_free(signature);
363364
}
365+
free(message);
364366
}
365367
END_TEST
366368

0 commit comments

Comments
 (0)