ReactOS  0.4.15-dev-3299-gbe8e5fc
platform_util.h File Reference

Common and shared functions used by multiple modules in the Mbed TLS library. More...

#include "config.h"
#include <stddef.h>
Include dependency graph for platform_util.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define MBEDTLS_INTERNAL_VALIDATE_RET(cond, ret)   do { } while( 0 )
 
#define MBEDTLS_INTERNAL_VALIDATE(cond)   do { } while( 0 )
 
#define MBEDTLS_DEPRECATED_STRING_CONSTANT(VAL)   VAL
 
#define MBEDTLS_DEPRECATED_NUMERIC_CONSTANT(VAL)   VAL
 

Functions

void mbedtls_platform_zeroize (void *buf, size_t len)
 Securely zeroize a buffer. More...
 

Detailed Description

Common and shared functions used by multiple modules in the Mbed TLS library.

Definition in file platform_util.h.

Macro Definition Documentation

◆ MBEDTLS_DEPRECATED_NUMERIC_CONSTANT

#define MBEDTLS_DEPRECATED_NUMERIC_CONSTANT (   VAL)    VAL

Definition at line 158 of file platform_util.h.

◆ MBEDTLS_DEPRECATED_STRING_CONSTANT

#define MBEDTLS_DEPRECATED_STRING_CONSTANT (   VAL)    VAL

Definition at line 157 of file platform_util.h.

◆ MBEDTLS_INTERNAL_VALIDATE

#define MBEDTLS_INTERNAL_VALIDATE (   cond)    do { } while( 0 )

Definition at line 137 of file platform_util.h.

◆ MBEDTLS_INTERNAL_VALIDATE_RET

#define MBEDTLS_INTERNAL_VALIDATE_RET (   cond,
  ret 
)    do { } while( 0 )

Definition at line 136 of file platform_util.h.

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

Definition at line 98 of file platform_util.c.

99 {
100  MBEDTLS_INTERNAL_VALIDATE( len == 0 || buf != NULL );
101 
102  if( len > 0 )
103  memset_func( buf, 0, len );
104 }
#define MBEDTLS_INTERNAL_VALIDATE(cond)
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
static void *(*constvolatile memset_func)(void *, int, size_t)
Definition: platform_util.c:96
GLenum GLsizei len
Definition: glext.h:6722
#define NULL
Definition: types.h:112