svn commit: r356626 - in stable: 11/lib/libc/secure 12/lib/libc/secure

Kyle Evans kevans at FreeBSD.org
Sat Jan 11 03:15:13 UTC 2020


Author: kevans
Date: Sat Jan 11 03:15:12 2020
New Revision: 356626
URL: https://svnweb.freebsd.org/changeset/base/356626

Log:
  MFC r356355: ssp: knock out some trivial warnings that come up with WARNS=6
  
  A future commit will rebuild this as part of libssp. The exact warnings are
  fairly trivially fixed:
  - No previous declaration for __stack_chk_guard
  - idx is the wrong type, nitems yields a size_t
  - Casting away volatile on the tmp_stack_chk_guard directly is a no-no.

Modified:
  stable/12/lib/libc/secure/stack_protector.c
Directory Properties:
  stable/12/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/11/lib/libc/secure/stack_protector.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/12/lib/libc/secure/stack_protector.c
==============================================================================
--- stable/12/lib/libc/secure/stack_protector.c	Sat Jan 11 01:56:57 2020	(r356625)
+++ stable/12/lib/libc/secure/stack_protector.c	Sat Jan 11 03:15:12 2020	(r356626)
@@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$");
     __attribute__((__constructor__, __used__));
 #endif
 
+extern long __stack_chk_guard[8];
 extern int __sysctl(const int *name, u_int namelen, void *oldp,
     size_t *oldlenp, void *newp, size_t newlen);
 
@@ -73,8 +74,8 @@ __guard_setup(void)
 {
 	static const int mib[2] = { CTL_KERN, KERN_ARND };
 	volatile long tmp_stack_chk_guard[nitems(__stack_chk_guard)];
-	size_t len;
-	int error, idx;
+	size_t idx, len;
+	int error;
 
 	if (__stack_chk_guard[0] != 0)
 		return;
@@ -84,7 +85,8 @@ __guard_setup(void)
 	 * data into a temporal array, then do manual volatile copy to
 	 * not allow optimizer to call memcpy() behind us.
 	 */
-	error = _elf_aux_info(AT_CANARY, (void *)tmp_stack_chk_guard,
+	error = _elf_aux_info(AT_CANARY,
+	    __DEQUALIFY(void *, tmp_stack_chk_guard),
 	    sizeof(tmp_stack_chk_guard));
 	if (error == 0 && tmp_stack_chk_guard[0] != 0) {
 		for (idx = 0; idx < nitems(__stack_chk_guard); idx++) {


More information about the svn-src-all mailing list