netbsd man page for ssp

Query: ssp

OS: netbsd

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

SSP(3)							   BSD Library Functions Manual 						    SSP(3)

NAME
ssp -- bounds checked libc functions
LIBRARY
Buffer Overflow Protection Library (libssp, -lssp)
SYNOPSIS
#include <ssp/stdio.h> int sprintf(char *str, const char *fmt, ...); int vsprintf(char *str, const char *fmt, va_list ap); int snprintf(char *str, size_t len, const char *fmt, ...); int vsnprintf(char *str, size_t len, const char *fmt, va_list ap); char * gets(char *str); char * fgets(char *str, int len, FILE *fp); #include <ssp/string.h> void * memcpy(void *str, const void *ptr, size_t len); void * memmove(void *str, const void *ptr, size_t len); void * memset(void *str, int val, size_t len); char * strcpy(char *str, const char *ptr, size_t len); char * strcat(char *str, const char *ptr, size_t len); char * strncpy(char *str, const char *ptr, size_t len); char * strncat(char *str, const char *ptr, size_t len); #include <ssp/strings.h> void * bcopy(const void *ptr, void *str, size_t len); void * bzero(void *str, size_t len); #include <ssp/unistd.h> ssize_t read(int fd, void *str, size_t len); int readlink(const char * restrict path, char * restrict str, size_t len); int getcwd(char *str, size_t len);
DESCRIPTION
When _FORTIFY_SOURCE bounds checking is enabled as described below, the above functions get overwritten to use the __builtin_object_size(3) function to compute the size of str, if known at compile time, and perform bounds check on it in order to avoid data buffer or stack buffer overflows. If an overflow is detected, the routines will call abort(3). To enable these function overrides the following should be added to the gcc(1) command line: ``-I/usr/include/ssp'' to override the standard include files and ``-D_FORTIFY_SOURCE=1'' or ``-D_FORTIFY_SOURCE=2''. If _FORTIFY_SOURCE is set to 1 the code will compute the maximum possible buffer size for str, and if set to 2 it will compute the minimum buffer size.
SEE ALSO
gcc(1), __builtin_object_size(3), stdio(3), string(3), security(7)
HISTORY
The ssp library appeared NetBSD 4.0.
BSD
March 21, 2011 BSD
Related Man Pages
fprintf_l(3) - mojave
sprintf_l(3) - mojave
vprintf_l(3) - mojave
vsprintf_l(3) - mojave
fprintf_l(3) - osx
Similar Topics in the Unix Linux Community
Socket Question
concat const char * with char *
sprintf result on perl
awk help
Extract sequences of bytes from binary for differents blocks