From e60342575a888dd13fc2df841a8d4c7ef683ae6e Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 23 Sep 2026 23:26:11 +0200 Subject: Introduce librecrypt_concat_*_ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- librecrypt_concat_uint_.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 librecrypt_concat_uint_.c (limited to 'librecrypt_concat_uint_.c') diff --git a/librecrypt_concat_uint_.c b/librecrypt_concat_uint_.c new file mode 100644 index 0000000..a492e0b --- /dev/null +++ b/librecrypt_concat_uint_.c @@ -0,0 +1,41 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" +#ifndef TEST +#include + +/* TODO use of sprintf(3) should be eliminated; + * this will make it easier to use in an unhosted environment (kernels) + * and make_settings will be AS-Safe, + * however librecrypt_add_algorithm will not be AS-Safe as hash + * functions may require memory allocations which is AS-Unsafe + */ + + +void +librecrypt_concat_uint_(struct concat_state *state, uintmax_t value) +{ + char buf[3u * sizeof(uintmax_t) + 1u]; + int len = sprintf(buf, "%ju", value); + if (len < 1) + abort(); /* $covered$ (impossible reliably) */ + librecrypt_concat_mem_(state, buf, (size_t)len); +} + + +#else + + +int +main(void) +{ + SET_UP_ALARM(); + INIT_RESOURCE_TEST(); + + /* TODO test */ + + STOP_RESOURCE_TEST(); + return 0; +} + + +#endif -- cgit v1.3.1