mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-03-20 19:21:09 +01:00
Stop using MBEDTLS_PRINTF_SIZET
Since Mbed TLS 3.6.0, all officially supported versions of Visual Studio a printf function family that is sufficiently compliant to C99 for our purposes, in particular supporting `%zu` for `size_t`. The only platform without `%zu` that we semi-officially support is older versions of MinGW, still used in our CI. MinGW provides either a Windows legacy printf or a standards-compliant printf depending on the value of `__USE_MINGW_ANSI_STDIO` when compiling each C file. Force the use of the compliant version. Don't rely on `MBEDTLS_PRINTF_SIZET`, which is defined in `<mbedtls/debug.h>` and no longer considers the Windows legacy version in Mbed TLS >= 4.1. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
@@ -5,14 +5,8 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MBEDTLS_ALLOW_PRIVATE_ACCESS
|
|
||||||
|
|
||||||
#include "mbedtls/private/pk_private.h"
|
|
||||||
|
|
||||||
#include "ssl_test_lib.h"
|
#include "ssl_test_lib.h"
|
||||||
|
|
||||||
#include "test/psa_crypto_helpers.h"
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_TEST_IMPOSSIBLE)
|
#if defined(MBEDTLS_SSL_TEST_IMPOSSIBLE)
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
@@ -27,6 +21,8 @@ int main(void)
|
|||||||
}
|
}
|
||||||
#else /* !MBEDTLS_SSL_TEST_IMPOSSIBLE && MBEDTLS_SSL_CLI_C */
|
#else /* !MBEDTLS_SSL_TEST_IMPOSSIBLE && MBEDTLS_SSL_CLI_C */
|
||||||
|
|
||||||
|
#include "test/psa_crypto_helpers.h"
|
||||||
|
|
||||||
/* Size of memory to be allocated for the heap, when using the library's memory
|
/* Size of memory to be allocated for the heap, when using the library's memory
|
||||||
* management and MBEDTLS_MEMORY_BUFFER_ALLOC_C is enabled. */
|
* management and MBEDTLS_MEMORY_BUFFER_ALLOC_C is enabled. */
|
||||||
#define MEMORY_HEAP_SIZE 120000
|
#define MEMORY_HEAP_SIZE 120000
|
||||||
|
|||||||
@@ -5,6 +5,15 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* On Mingw-w64, force the use of a C99-compliant printf() and friends.
|
||||||
|
* This is necessary on older versions of Mingw and/or Windows runtimes
|
||||||
|
* where snprintf does not always zero-terminate the buffer, and does
|
||||||
|
* not support formats such as "%zu" for size_t and "%lld" for long long.
|
||||||
|
*/
|
||||||
|
#if !defined(__USE_MINGW_ANSI_STDIO)
|
||||||
|
#define __USE_MINGW_ANSI_STDIO 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "mbedtls/build_info.h"
|
#include "mbedtls/build_info.h"
|
||||||
#include "mbedtls/debug.h"
|
#include "mbedtls/debug.h"
|
||||||
#include "mbedtls/platform.h"
|
#include "mbedtls/platform.h"
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MBEDTLS_ALLOW_PRIVATE_ACCESS
|
|
||||||
|
|
||||||
#include "ssl_test_lib.h"
|
#include "ssl_test_lib.h"
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_TEST_IMPOSSIBLE)
|
#if defined(MBEDTLS_SSL_TEST_IMPOSSIBLE)
|
||||||
|
|||||||
@@ -8,6 +8,17 @@
|
|||||||
#ifndef MBEDTLS_PROGRAMS_SSL_SSL_TEST_LIB_H
|
#ifndef MBEDTLS_PROGRAMS_SSL_SSL_TEST_LIB_H
|
||||||
#define MBEDTLS_PROGRAMS_SSL_SSL_TEST_LIB_H
|
#define MBEDTLS_PROGRAMS_SSL_SSL_TEST_LIB_H
|
||||||
|
|
||||||
|
/* On Mingw-w64, force the use of a C99-compliant printf() and friends.
|
||||||
|
* This is necessary on older versions of Mingw and/or Windows runtimes
|
||||||
|
* where snprintf does not always zero-terminate the buffer, and does
|
||||||
|
* not support formats such as "%zu" for size_t and "%lld" for long long.
|
||||||
|
*/
|
||||||
|
#if !defined(__USE_MINGW_ANSI_STDIO)
|
||||||
|
#define __USE_MINGW_ANSI_STDIO 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MBEDTLS_ALLOW_PRIVATE_ACCESS
|
||||||
|
|
||||||
#include "mbedtls/private/pk_private.h"
|
#include "mbedtls/private/pk_private.h"
|
||||||
|
|
||||||
#include "mbedtls/build_info.h"
|
#include "mbedtls/build_info.h"
|
||||||
|
|||||||
@@ -5,6 +5,15 @@
|
|||||||
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* On Mingw-w64, force the use of a C99-compliant printf() and friends.
|
||||||
|
* This is necessary on older versions of Mingw and/or Windows runtimes
|
||||||
|
* where snprintf does not always zero-terminate the buffer, and does
|
||||||
|
* not support formats such as "%zu" for size_t and "%lld" for long long.
|
||||||
|
*/
|
||||||
|
#if !defined(__USE_MINGW_ANSI_STDIO)
|
||||||
|
#define __USE_MINGW_ANSI_STDIO 1
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MBEDTLS_DECLARE_PRIVATE_IDENTIFIERS
|
#define MBEDTLS_DECLARE_PRIVATE_IDENTIFIERS
|
||||||
|
|
||||||
#include "mbedtls/build_info.h"
|
#include "mbedtls/build_info.h"
|
||||||
@@ -441,8 +450,7 @@ int main(int argc, char *argv[])
|
|||||||
} \
|
} \
|
||||||
} else { \
|
} else { \
|
||||||
mbedtls_printf("Padding checks only implemented for types of size 2, 4 or 8" \
|
mbedtls_printf("Padding checks only implemented for types of size 2, 4 or 8" \
|
||||||
" - cannot check type '" #TYPE "' of size %" MBEDTLS_PRINTF_SIZET \
|
" - cannot check type '" #TYPE "' of size %zu\n", \
|
||||||
"\n", \
|
|
||||||
sizeof(TYPE)); \
|
sizeof(TYPE)); \
|
||||||
mbedtls_exit(MBEDTLS_EXIT_FAILURE); \
|
mbedtls_exit(MBEDTLS_EXIT_FAILURE); \
|
||||||
} \
|
} \
|
||||||
|
|||||||
Reference in New Issue
Block a user