Commit Graph

99 Commits

Author SHA1 Message Date
sin
d12254166a Restore C++ support 2015-03-13 23:09:15 +00:00
sin
c4abf4497b Fix typo again 2015-03-13 17:14:58 +00:00
sin
c8ecc164f1 Implement snprintf() and sprintf() using __builtin_va_arg_pack()
Requires at least GCC 4.3.
2015-03-13 17:03:52 +00:00
sin
c2b0ad0bf5 Re-order vsnprintf() and vsprintf()
vsprintf() needs to access __vsnprintf_orig().
2015-03-13 14:22:41 +00:00
sin
2b6657b759 Fix typo 2015-03-13 14:19:32 +00:00
sin
9f8c543dc8 Rework fortify implementation to use extern inline
Overriding functions with macros is legal in C but a lot of software
is not prepared for it.  Use the extern inline method to achieve the
same result.
2015-03-13 11:00:46 +00:00
Trutz Behn
b211796d68 Put include guards in the reserved namespace
fortify-headers is considered part of the implementation.
2015-03-11 21:33:01 +00:00
sin
69e43f5c5e Revert "Add explicit casts to satisfy C++ code"
This reverts commit 1fbf7a3a5e9c02cf992848002cfb88c3c7cc0212.
2015-03-11 12:57:37 +00:00
sin
14af218559 Ignore C++ for now
It is not legal to override standard functions using macros in C++.
We may have to revisit this in the future.
2015-03-11 11:18:31 +00:00
sin
8604f138c5 Add ifdef guards for C++ code 2015-03-11 09:26:11 +00:00
sin
1fbf7a3a5e Add explicit casts to satisfy C++ code 2015-03-11 09:21:25 +00:00
sin
499ea65dd5 Revert "Fix invalid conversion in C++ code"
This reverts commit 4b4dfea25d660a8a27e95ea531686001246b3d1e.
2015-03-11 09:21:00 +00:00
sin
4b4dfea25d Fix invalid conversion in C++ code
/usr/include/fortify/string.h: In function 'void* __fortify_memcpy(void*, const void*, size_t)':
/usr/include/fortify/string.h:13:12: error: invalid conversion from 'void*' to 'char*' [-fpermissive]
/usr/include/fortify/string.h:14:18: error: invalid conversion from 'const void*' to 'const char*' [-fpermissive]

Since we are relying on GCC anyway, assume void * arithmetic is OK.
2015-03-11 09:17:56 +00:00
sin
0362def21a Inline ppoll() as well 2015-03-10 18:04:21 +00:00
sin
99d1025513 Make ppoll() static
Thanks Timo Teras.
2015-03-10 16:38:26 +00:00
sin
701d7d3303 Fix strncat() and strncpy() mappings
Thanks zhasha.
2015-03-10 16:38:26 +00:00
sin
8cb1c705b1 Style fix 2015-03-07 10:32:28 +00:00
sin
ead32d6320 Fix some checks in wchar.h
Some of these functions allow the destination pointer to be NULL.
Do not trap in that case as nothing will be written to the destination
buffer.
2015-03-06 12:39:11 +00:00
sin
9b128ed538 Fix mbsnrtowcs() and wcsnrtombs() checks 2015-03-05 18:21:52 +00:00
sin
c51977cfcc Fix wcsrtombs() check 2015-03-04 20:16:44 +00:00
sin
4ddbe16d88 Fix mbsrtowcs() check 2015-03-04 19:58:48 +00:00
sin
7392bcaef8 Handle early termination in wcsnrtombs() and mbsnrtowcs() 2015-03-04 17:10:50 +00:00
sin
3d237352de Add wctomb() check 2015-03-04 13:12:58 +00:00
sin
911f402e94 Add wcstombs() check 2015-03-04 13:09:31 +00:00
sin
3532ee2caa Add wcsnrtombs() and wcsrtombs() checks 2015-03-04 12:59:41 +00:00
sin
ce3377dbb2 Add wcsncat() and wcsncpy() checks 2015-03-04 12:42:55 +00:00
sin
a28cd72ce6 Add wcrtomb(), wcscat() and wcscpy() checks 2015-03-04 12:27:04 +00:00
sin
316c87a6a6 Style fix 2015-03-03 20:38:52 +00:00
sin
95f63b3084 Add mbstowcs() check 2015-03-03 20:36:35 +00:00
sin
d548f4a37d Add mbsnrtowcs() and mbsrtowcs() checks 2015-03-03 20:30:47 +00:00
sin
f0efb87f8f Add wmemcpy() and wmemmove() checks 2015-03-03 18:16:29 +00:00
sin
a810ecae68 Add wmemset() check 2015-03-03 18:13:14 +00:00
sin
4514109df1 Fix signed/unsigned warning 2015-03-03 17:11:16 +00:00
sin
d87f9d94e1 Remove gcc attribute decoration 2015-03-03 17:10:34 +00:00
sin
1118911981 Don't trap on error for vsprintf() and friends 2015-03-03 17:00:06 +00:00
sin
2ced6e28c3 Add fgetws() check 2015-03-03 14:44:46 +00:00
sin
7279c33202 Add ppoll() check 2015-03-03 14:28:25 +00:00
sin
15c2b9d8df Add fwrite() check 2015-03-01 13:17:21 +00:00
sin
0c985218e9 Add fread() check 2015-03-01 13:12:09 +00:00
sin
488c3c7183 Add vsprintf() check 2015-03-01 12:10:40 +00:00
sin
66b34fbe59 Fix potential signed/unsigned warning 2015-03-01 11:55:38 +00:00
sin
0826c593be Add sprintf() check 2015-03-01 11:09:13 +00:00
sin
e71d1fd257 Remove redundant checks
We can never have an array of more than SIZE_MAX/2/sizeof(gid_t)
gid_t's.
2015-02-28 20:50:34 +00:00
sin
de499b92ba Minor style fix 2015-02-28 20:21:34 +00:00
sin
91db6f5899 Add sendto() check 2015-02-28 16:56:21 +00:00
sin
958ead636c Add readlink() and readlinkat() checks 2015-02-28 16:48:58 +00:00
sin
e02237241b Style fix 2015-02-28 16:11:32 +00:00
sin
7212959240 Use __typeof__(sizeof 0) trickery
We cannot pull stddef.h and since fortify already relies on GCC
features we can use the above typeof trick to get a usable size_t.
2015-02-28 16:01:26 +00:00
sin
4672406edd __fortify_realpath() should trap if PATH_MAX is not defined
This is currently done only if the pointer is non-NULL.
2015-02-28 15:59:52 +00:00
sin
33d2ff5aa8 Add ttyname_r() check 2015-02-28 15:30:25 +00:00