mbedtls: Don't use tf_snprintf if option not defined
authorAntonio Nino Diaz <antonio.ninodiaz@arm.com>
Tue, 6 Jun 2017 09:54:39 +0000 (10:54 +0100)
committerAntonio Nino Diaz <antonio.ninodiaz@arm.com>
Tue, 6 Jun 2017 09:54:42 +0000 (10:54 +0100)
If `MBEDTLS_PLATFORM_SNPRINTF_ALT` isn't used, the function
`mbedtls_platform_set_snprintf()` isn't defined.

In case a platform uses a different mbed TLS configuration file than
the one provided by the Trusted Firmware, and it doesn't define the
mentioned build option, this will result in a build error.

This patch modifies the initialization code so that
`mbedtls_platform_set_snprintf()` is only used if
`MBEDTLS_PLATFORM_SNPRINTF_ALT` is defined, allowing platforms to use
it or not depending on their needs.

Change-Id: I1d5c86d57e9b2871ba463030bf89210ebec5178e
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
drivers/auth/mbedtls/mbedtls_common.c

index 336e44be6f4cce8ed47f25904a1e7288021ceb6e..a7e5b97e1586330594000fc430cebb6f3742f11c 100644 (file)
@@ -9,6 +9,7 @@
 /* mbed TLS headers */
 #include <mbedtls/memory_buffer_alloc.h>
 #include <mbedtls/platform.h>
+#include <mbedtls_config.h>
 
 /*
  * mbed TLS heap
@@ -31,8 +32,10 @@ void mbedtls_init(void)
                /* Initialize the mbed TLS heap */
                mbedtls_memory_buffer_alloc_init(heap, MBEDTLS_HEAP_SIZE);
 
+#ifdef MBEDTLS_PLATFORM_SNPRINTF_ALT
                /* Use reduced version of snprintf to save space. */
                mbedtls_platform_set_snprintf(tf_snprintf);
+#endif
 
                ready = 1;
        }