1 /* Copyright (c) 2017 Yaakov Selkowitz <yselkowi@redhat.com> */
2 #ifndef _SSP_STDLIB_H_
3 #define _SSP_STDLIB_H_
4 
5 #include <ssp/ssp.h>
6 
7 #if __SSP_FORTIFY_LEVEL > 0
8 __BEGIN_DECLS
9 
10 __ssp_decl(size_t, mbstowcs, (wchar_t *__buf, const char *__src, size_t __n))
11 {
12   if (__buf != NULL)
13     __ssp_check(__buf, __n * sizeof(wchar_t), __ssp_bos);
14   return __ssp_real_mbstowcs (__buf, __src, __n);
15 }
16 
17 __ssp_redirect_raw(size_t, wcstombs, \
18     (char *__buf, const wchar_t *__src, size_t __len), \
19     (__buf, __src, __len), __buf != NULL, __ssp_bos);
20 
21 __ssp_decl(int, wctomb, (char *__buf, wchar_t __wc))
22 {
23   if (__buf != NULL)
24     __ssp_check(__buf, MB_CUR_MAX, __ssp_bos);
25   return __ssp_real_wctomb (__buf, __wc);
26 }
27 
28 __END_DECLS
29 
30 #endif /* __SSP_FORTIFY_LEVEL > 0 */
31 #endif /* _SSP_STDLIB_H_ */
32