Commit Graph

24 Commits

Author SHA1 Message Date
sin 37eb2c9c1d Add __artificial__ to aid in debugging 2015-03-14 09:38:22 +00:00
sin d12254166a Restore C++ support 2015-03-13 23:09:15 +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 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 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 958ead636c Add readlink() and readlinkat() checks 2015-02-28 16:48:58 +00:00
sin 33d2ff5aa8 Add ttyname_r() check 2015-02-28 15:30:25 +00:00
sin 195fffa420 Add getgroups() check
Since getgroups() will never write more than NGROUPS_MAX entries
we might as well cap len to that value.

The following should probably not trap the program:

gid_t set[NGROUPS_MAX];
getgroups(NGROUPS_MAX + 1, set);
2015-02-28 12:00:25 +00:00
sin 60a7076816 Add getdomainname() check 2015-02-28 11:52:02 +00:00
sin 816ad6764b Add getlogin_r() check 2015-02-25 10:31:30 +00:00
sin eb7c60712c Add write() check 2015-02-24 19:34:37 +00:00
sin eecef18261 Remove compile time checks
These can produce false positives.  Given that we support fortify
source level 1 we shouldn't break valid code.
2015-02-24 18:14:33 +00:00
sin 9a77136c59 Add gethostname() checks 2015-02-23 10:45:20 +00:00
sin c1734bf206 Remove header license comments 2015-02-22 09:39:43 +00:00
sin 00b376bb07 Add getcwd() checks 2015-02-05 14:07:14 +00:00
sin aa19847d12 Add confstr() checks 2015-02-05 14:03:53 +00:00
sin 6e4f53a3f5 Remember to #undef __errordecl
Thanks zhasha for spotting this.
2015-02-04 18:06:57 +00:00
sin 87f56f70d7 Style fix 2015-02-04 15:13:38 +00:00
sin 6156f7de8b Remove pwrite/write 2015-01-30 16:37:07 +00:00
sin 03886aa26c Add pread() and pwrite() checks 2015-01-30 09:44:49 +00:00
sin 131211ad47 Style fix 2015-01-29 20:34:01 +00:00
sin 647c25ad9c Add read()/write() checks 2015-01-29 20:31:49 +00:00