]> granicus.if.org Git - sudo/commitdiff
Add rudimentary check for _FORTIFY_SOURCE support by checking for
authorTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 30 Jan 2012 15:09:23 +0000 (10:09 -0500)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Mon, 30 Jan 2012 15:09:23 +0000 (10:09 -0500)
__sprintf_chk, one of the functions used by gcc to support it.

configure
configure.in

index 331c18bc504dc77964f6d23cce90a8e60e787976..e01adb2aec2897368458af4e91b6d1566affeef5 100755 (executable)
--- a/configure
+++ b/configure
@@ -16376,6 +16376,14 @@ done
 fi
 done
 
+O_CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
+ac_fn_c_check_func "$LINENO" "__sprintf_chk" "ac_cv_func___sprintf_chk"
+if test "x$ac_cv_func___sprintf_chk" = xyes; then :
+  OSDEFS="${OSDEFS} -D_FORTIFY_SOURCE=2"
+fi
+
+CPPFLAGS="$O_CPPFLAGS"
+
 utmp_style=LEGACY
 for ac_func in getutxid getutid
 do :
index 113a2e9315e7a65ed04525485d91fdbeabc7f4e4..15bd08812b84b9d16fa2383cf3ddc89a99fed26b 100644 (file)
@@ -2086,6 +2086,13 @@ AC_CHECK_FUNCS(getline, [], [
     AC_LIBOBJ(getline)
     AC_CHECK_FUNCS(fgetln)
 ])
+dnl
+dnl If libc supports _FORTIFY_SOURCE check functions, use it.
+dnl
+O_CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2"
+AC_CHECK_FUNC(__sprintf_chk, [OSDEFS="${OSDEFS} -D_FORTIFY_SOURCE=2"], [])
+CPPFLAGS="$O_CPPFLAGS"
+
 utmp_style=LEGACY
 AC_CHECK_FUNCS(getutxid getutid, [utmp_style=POSIX; break])
 if test "$utmp_style" = "LEGACY"; then