View | Details | Raw Unified | Return to bug 22755
Collapse All | Expand All

(-)sys/kern/kern_exec.c (+1 lines)
Lines 382-387 Link Here
382
		/* NOT REACHED */
382
		/* NOT REACHED */
383
		return(0);
383
		return(0);
384
	} else {
384
	} else {
385
		if (error && imgp->interpreted) error = EINVALINTERP;
385
		return(error);
386
		return(error);
386
	}
387
	}
387
}
388
}
(-)lib/libc/gen/errlst.c (+1 lines)
Lines 143-148 Link Here
143
	"Value too large to be stored in data type", /* 84 - EOVERFLOW */
143
	"Value too large to be stored in data type", /* 84 - EOVERFLOW */
144
	"Operation canceled",			/* 85 - ECANCELED */
144
	"Operation canceled",			/* 85 - ECANCELED */
145
	"Illegal byte sequence",		/* 86 - EILSEQ */
145
	"Illegal byte sequence",		/* 86 - EILSEQ */
146
	"Invalid interpreter",			/* 87 - EINVALINTERP */
146
};
147
};
147
int errno;
148
int errno;
148
const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]);
149
const int sys_nerr = sizeof(sys_errlist) / sizeof(sys_errlist[0]);
(-)sys/sys/errno.h (-1 / +2 lines)
Lines 167-173 Link Here
167
#define	EOVERFLOW	84		/* Value too large to be stored in data type */
167
#define	EOVERFLOW	84		/* Value too large to be stored in data type */
168
#define	ECANCELED	85		/* Operation canceled */
168
#define	ECANCELED	85		/* Operation canceled */
169
#define	EILSEQ		86		/* Illegal byte sequence */
169
#define	EILSEQ		86		/* Illegal byte sequence */
170
#define	ELAST		86		/* Must be equal largest errno */
170
#define EINVALINTERP	87		/* Invalid Interpreter */
171
#define	ELAST		87		/* Must be equal largest errno */
171
172
172
#endif /* _POSIX_SOURCE */
173
#endif /* _POSIX_SOURCE */
173
174
(-)imgact_shell.c (-3 / +3 lines)
Lines 60-66 Link Here
60
	 *	script. :-)
60
	 *	script. :-)
61
	 */
61
	 */
62
	if (imgp->interpreted)
62
	if (imgp->interpreted)
63
		return(ENOEXEC);
63
		return(EINVALINTERP);
64
64
65
	imgp->interpreted = 1;
65
	imgp->interpreted = 1;
66
66
Lines 74-80 Link Here
74
	 */
74
	 */
75
	for (ihp = &image_header[2]; *ihp != '\n' && *ihp != '#'; ++ihp) {
75
	for (ihp = &image_header[2]; *ihp != '\n' && *ihp != '#'; ++ihp) {
76
		if (ihp >= &image_header[MAXSHELLCMDLEN])
76
		if (ihp >= &image_header[MAXSHELLCMDLEN])
77
			return(ENOEXEC);
77
			return(EINVALINTERP);
78
	}
78
	}
79
	line_endp = ihp;
79
	line_endp = ihp;
80
80
Lines 92-98 Link Here
92
92
93
	/* Disallow a null interpreter filename */
93
	/* Disallow a null interpreter filename */
94
	if (*imgp->interpreter_name == '\0')
94
	if (*imgp->interpreter_name == '\0')
95
		return(ENOEXEC);
95
		return(EINVALINTERP);
96
96
97
	/* reset for another pass */
97
	/* reset for another pass */
98
	ihp = &image_header[2];
98
	ihp = &image_header[2];

Return to bug 22755