XenevaOS
Loading...
Searching...
No Matches
Macros | Functions
platform_util.c File Reference
#include "common.h"
#include "mbedtls/platform_util.h"
#include "mbedtls/platform.h"
#include "mbedtls/threading.h"
#include <stddef.h>
#include <string.h>
Include dependency graph for platform_util.c:

Macros

#define _POSIX_C_SOURCE   200112L
 
#define _GNU_SOURCE
 
#define __STDC_WANT_LIB_EXT1__   1 /* Ask for the C11 gmtime_s() and memset_s() if available */
 

Functions

void mbedtls_platform_zeroize (void *buf, size_t len)
 Securely zeroize a buffer.
 
void mbedtls_zeroize_and_free (void *buf, size_t len)
 Securely zeroize a buffer then free it.
 

Macro Definition Documentation

◆ __STDC_WANT_LIB_EXT1__

#define __STDC_WANT_LIB_EXT1__   1 /* Ask for the C11 gmtime_s() and memset_s() if available */

◆ _GNU_SOURCE

#define _GNU_SOURCE

◆ _POSIX_C_SOURCE

#define _POSIX_C_SOURCE   200112L

Function Documentation

◆ mbedtls_platform_zeroize()

void mbedtls_platform_zeroize ( void *  buf,
size_t  len 
)

Securely zeroize a buffer.

         The function is meant to wipe the data contained in a buffer so
         that it can no longer be recovered even if the program memory
         is later compromised. Call this function on sensitive data
         stored on the stack before returning from a function, and on
         sensitive data stored on the heap before freeing the heap
         object.

         It is extremely difficult to guarantee that calls to
         mbedtls_platform_zeroize() are not removed by aggressive
         compiler optimizations in a portable way. For this reason, Mbed
         TLS provides the configuration option
         MBEDTLS_PLATFORM_ZEROIZE_ALT, which allows users to configure
         mbedtls_platform_zeroize() to use a suitable implementation for
         their platform and needs
Parameters
bufBuffer to be zeroized
lenLength of the buffer in bytes

◆ mbedtls_zeroize_and_free()

void mbedtls_zeroize_and_free ( void *  buf,
size_t  len 
)

Securely zeroize a buffer then free it.

         Similar to making consecutive calls to
         \c mbedtls_platform_zeroize() and \c mbedtls_free(), but has
         code size savings, and potential for optimisation in the future.

         Guaranteed to be a no-op if \p buf is \c NULL and \p len is 0.
Parameters
bufBuffer to be zeroized then freed.
lenLength of the buffer in bytes