ssp: add Object Size Checking for stdlib.h

Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
This commit is contained in:
Yaakov Selkowitz 2017-11-29 21:17:09 -06:00
parent 0fd2c9bd12
commit 1e43e181c2
3 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,30 @@
#ifndef _SSP_STDLIB_H_
#define _SSP_STDLIB_H_
#include <ssp/ssp.h>
#if __SSP_FORTIFY_LEVEL > 0
__BEGIN_DECLS
__ssp_decl(size_t, mbstowcs, (wchar_t *__buf, const char *__src, size_t __n))
{
if (__buf != NULL)
__ssp_check(__buf, __n * sizeof(wchar_t), __ssp_bos);
return __ssp_real_mbstowcs (__buf, __src, __n);
}
__ssp_redirect_raw(size_t, wcstombs, \
(char *__buf, const wchar_t *__src, size_t __len), \
(__buf, __src, __len), __buf != NULL, __ssp_bos);
__ssp_decl(int, wctomb, (char *__buf, wchar_t __wc))
{
if (__buf != NULL)
__ssp_check(__buf, MB_CUR_MAX, __ssp_bos);
return __ssp_real_wctomb (__buf, __wc);
}
__END_DECLS
#endif /* __SSP_FORTIFY_LEVEL > 0 */
#endif /* _SSP_STDLIB_H_ */

View File

@ -334,4 +334,8 @@ _Noreturn void
_END_STD_C
#if __SSP_FORTIFY_LEVEL > 0
#include <ssp/stdlib.h>
#endif
#endif /* _STDLIB_H_ */

View File

@ -39,6 +39,10 @@ fgets fread_unlocked sprintf
fgets_unlocked gets vsnprintf
fread snprintf vsprintf
@exdent @emph{Stdlib functions:}
mbstowcs wcstombs wctomb
@exdent @emph{System functions:}
getcwd read readlink
@end example