Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Jun 2017 01:00:40 +0000 (UTC)
From:      Ngie Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r319486 - stable/11/contrib/netbsd-tests/lib/libc/ssp
Message-ID:  <201706020100.v5210e30036247@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Fri Jun  2 01:00:40 2017
New Revision: 319486
URL: https://svnweb.freebsd.org/changeset/base/319486

Log:
  MFC r318210,r318211:
  
  Approved by:	re (gjb)
  
  r318210:
  
  ssp_test:read:: query the value of MAXPATHLEN via getconf(1)
  
  In the event the value of PATH_MAX was changed, the assumption that
  MAXPATHLEN is 1024 (and hence the buffer length required to trigger
  SSP to fail for read(2)) would be invalidated. Query getconf(1) for
  the actual value of MAXPATHLEN via _XOPEN_PATH_MAX instead, and
  increment the value by 1 to ensure that the SSP support tests the
  stack smashing support properly.
  
  r318211:
  
  Fix up previous commit
  
  - Apply the logic to the FreeBSD block
  - Fix a typo with the getconf(1) call that I would have caught, were
    it not for the fact that I got the blocks wrong.
  - Consolidate the hardcoded buffer sizes to the NetBSD block.
  
  This would have been discovered had I run the test on a system where
  PATH_MAX != 1024 (I don't have that at my disposal right at this moment).
  
  MFC with:	r318210

Modified:
  stable/11/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh
==============================================================================
--- stable/11/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh	Fri Jun  2 00:57:59 2017	(r319485)
+++ stable/11/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh	Fri Jun  2 01:00:40 2017	(r319486)
@@ -386,12 +386,14 @@ read_body()
 {
 	prog="$(atf_get_srcdir)/h_read"
 
-	h_pass "$prog 1024" "echo foo |"
 	# Begin FreeBSD
 	if true; then
-		h_fail "$prog 1027" "echo bar |"
+	MAX_PATH=$(getconf _XOPEN_PATH_MAX) || atf_fail "getconf failed"
+	h_pass "$prog $MAX_PATH" "echo foo |"
+	h_fail "$prog $(( $MAX_PATH + 3 ))" "echo bar |"
 	else
 	# End FreeBSD
+	h_pass "$prog 1024" "echo foo |"
 	h_fail "$prog 1025" "echo bar |"
 	# Begin FreeBSD
 	fi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706020100.v5210e30036247>