GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
MEMSET(3) FreeBSD Library Functions Manual MEMSET(3)

memset
write a byte to byte string

Standard C Library (libc, -lc)

#include <string.h>

void *
memset(void *dest, int c, size_t len);

#define __STDC_WANT_LIB_EXT1__ 1

errno_t
memset_s(void *dest, rsize_t destsz, int c, rsize_t len);

The memset() function writes len bytes of value c (converted to an unsigned char) to the string dest. Undefined behaviour from memset(), resulting from storage overflow, will occur if len is greater than the length of the dest buffer. The behaviour is also undefined if dest is an invalid pointer.

The memset_s() function behaves the same as memset() except that an error is returned and the currently registered runtime-constraint handler is called if dest is a null pointer, destsz or len is greater than RSIZE_MAX, or len is greater than destsz (buffer overflow would occur). The runtime-constraint handler is called first and may not return. If it does return, an error is returned to the caller. Like explicit_bzero(3), memset_s() is not removed through Dead Store Elimination (DSE), making it useful for clearing sensitive data. In contrast memset() function may be optimized away if the object modified by the function is not accessed again. To clear memory that will not subsequently be accessed it is advised to use memset_s() instead of memset(). For instance, a buffer containing a password should be cleared with memset_s() before free(3).

The memset() function returns its first argument. The memset_s() function returns zero on success, non-zero on error.

bzero(3), explicit_bzero(3), set_constraint_handler_s(3), swab(3), wmemset(3)

The memset() function conforms to ISO/IEC 9899:1990 (“ISO C90”). memset_s() conforms to ISO/IEC 9899:2011 (“ISO C11”) K.3.7.4.1.
August 19, 2018 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.