svn commit: r312874 - stable/11/sys/amd64/linux
Tijl Coosemans
tijl at FreeBSD.org
Fri Jan 27 10:06:22 UTC 2017
Author: tijl
Date: Fri Jan 27 10:06:20 2017
New Revision: 312874
URL: https://svnweb.freebsd.org/changeset/base/312874
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/11/sys/amd64/linux/linux_sysvec.c
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/amd64/linux/linux_sysvec.c
==============================================================================
--- stable/11/sys/amd64/linux/linux_sysvec.c Fri Jan 27 10:05:17 2017 (r312873)
+++ stable/11/sys/amd64/linux/linux_sysvec.c Fri Jan 27 10:06:20 2017 (r312874)
@@ -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)
More information about the svn-src-stable-11
mailing list