Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jan 2017 10:05:17 +0000 (UTC)
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r312873 - stable/10/sys/amd64/linux
Message-ID:  <201701271005.v0RA5H45022588@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tijl
Date: Fri Jan 27 10:05:17 2017
New Revision: 312873
URL: https://svnweb.freebsd.org/changeset/base/312873

Log:
  MFC r312699:
  
  Apply r210555 to 64 bit linux support:
  
  The interpreter name should no longer be treated as a buffer that can be
  overwritten.
  
  PR:		216346

Modified:
  stable/10/sys/amd64/linux/linux_sysvec.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/amd64/linux/linux_sysvec.c
==============================================================================
--- stable/10/sys/amd64/linux/linux_sysvec.c	Fri Jan 27 10:03:50 2017	(r312872)
+++ stable/10/sys/amd64/linux/linux_sysvec.c	Fri Jan 27 10:05:17 2017	(r312873)
@@ -718,7 +718,7 @@ exec_linux_imgact_try(struct image_param
 {
 	const char *head = (const char *)imgp->image_header;
 	char *rpath;
-	int error = -1, len;
+	int error = -1;
 
 	/*
 	 * The interpreter for shell scripts run from a linux binary needs
@@ -736,17 +736,12 @@ exec_linux_imgact_try(struct image_param
 			linux_emul_convpath(FIRST_THREAD_IN_PROC(imgp->proc),
 			    imgp->interpreter_name, UIO_SYSSPACE,
 			    &rpath, 0, AT_FDCWD);
-			if (rpath != NULL) {
-				len = strlen(rpath) + 1;
-
-				if (len <= MAXSHELLCMDLEN)
-					memcpy(imgp->interpreter_name,
-					    rpath, len);
-				free(rpath, M_TEMP);
-			}
+			if (rpath != NULL)
+				imgp->args->fname_buf =
+				    imgp->interpreter_name = rpath;
 		}
 	}
-	return(error);
+	return (error);
 }
 
 #define	LINUX_VSYSCALL_START		(-10UL << 20)



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