Fri Feb 21 08:11:59 2014 UTC ()
Revert rev1.38. The header already begins with EXEC_SCRIPT_MAGIC="#!".
So it can't be ELFMAG="\177ELF" at the same time.

ok christos@


(maxv)
diff -r1.68 -r1.69 src/sys/kern/exec_script.c

cvs diff -r1.68 -r1.69 src/sys/kern/exec_script.c (expand / switch to context diff)
--- src/sys/kern/exec_script.c 2014/02/17 19:29:46 1.68
+++ src/sys/kern/exec_script.c 2014/02/21 08:11:59 1.69
@@ -1,4 +1,4 @@
-/*	$NetBSD: exec_script.c,v 1.68 2014/02/17 19:29:46 maxv Exp $	*/
+/*	$NetBSD: exec_script.c,v 1.69 2014/02/21 08:11:59 maxv Exp $	*/
 
 /*
  * Copyright (c) 1993, 1994, 1996 Christopher G. Demetriou
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exec_script.c,v 1.68 2014/02/17 19:29:46 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exec_script.c,v 1.69 2014/02/21 08:11:59 maxv Exp $");
 
 #if defined(SETUIDSCRIPTS) && !defined(FDSCRIPTS)
 #define FDSCRIPTS		/* Need this for safe set-id scripts. */
@@ -153,13 +153,6 @@
 		}
 	}
 	if (cp >= hdrstr + hdrlinelen)
-		return ENOEXEC;
-
-	/*
-	 * If the script has an ELF header, don't exec it.
-	 */
-	if (epp->ep_hdrvalid >= sizeof(ELFMAG)-1 &&
-	    memcmp(hdrstr, ELFMAG, sizeof(ELFMAG)-1) == 0)
 		return ENOEXEC;
 
 	shellname = NULL;