fortify-headers

standalone fortify-source implementation
git clone git://git.2f30.org/fortify-headers
Log | Files | Refs | README | LICENSE

commit 9880d5864bfa5ae3fa6ca7b739953ac5f74524be
parent 578b693300171edfbbefb4b14f1bc9bd46f94a1f
Author: Natanael Copa <ncopa@alpinelinux.org>
Date:   Thu, 14 Jul 2016 16:45:11 +0200

Only include limits.h when actually used

The __extension__ seems to trigger a bug in gcc when there are no
identifier specified afterwards.

Testcase:
  echo "#include <stdlib.h>" > try.c && cc -O0 -c try.c
  try.c:2:0: error: expected identifier or '(' at end of input

With -O2 it does not happen.

We work around this by only pulling in limits.h when we actually need the
PATH_MAX.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>

Diffstat:
Minclude/stdlib.h | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/stdlib.h b/include/stdlib.h @@ -19,12 +19,12 @@ __extension__ #include_next <stdlib.h> +#if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0 && defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) __extension__ #include_next <limits.h> #endif -#if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0 && defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 #include "fortify-headers.h" #ifdef __cplusplus