memset_s()

QNX SDP8.0C Library ReferenceAPIDeveloper

Securely set memory to a given value

Synopsis:

#include <string.h>

errno_t memset_s( void *s,
                  rsize_t smax,
                  int c,
                  rsize_t n );

Arguments:

s
A pointer to the memory that you want to set. This must not be NULL.
smax
The maximum size of the block of memory.
c
The value that you want to store in each byte.
n
The number of bytes to set. This value must not be greater than the value of smax.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The memset_s() function is a secure version of memset():

  • If the arguments are all valid, memset_s() copies the value of c (converted to an unsigned char) into each of the first n characters of the object pointed to by s.
  • If there's a runtime-constraint violation, then if s isn't NULL, memset_s() stores the value of c (converted to an unsigned char) into each of the first smax characters of the object pointed to by s.
  • Unlike memset(), any call to memset_s() assumes that the memory indicated by s may be accessible in the future and thus must contain the values indicated by c.

Returns:

EOK
Success.
EINVAL
The s argument is NULL, or n is greater than smax.

Classification:

C11

Safety:
Cancellation pointNo
Signal handlerYes
ThreadYes
Page updated: