Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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) func-
     tion 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 over-
     flows.  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	in-
     clude 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

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ssp&sektion=3&manpath=NetBSD+6.0>

home | help