Commit a5f97bb4 authored by Gustavo Zacarias's avatar Gustavo Zacarias Committed by Peter Korsgaard
Browse files

busybox: bump to version 1.18.3

parent 8d3e6abc
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ config BR2_BUSYBOX_VERSION
	default "1.15.3"	if BR2_BUSYBOX_VERSION_1_15_X
	default "1.16.2"	if BR2_BUSYBOX_VERSION_1_16_X
	default "1.17.4"	if BR2_BUSYBOX_VERSION_1_17_X
	default "1.18.2"	if BR2_BUSYBOX_VERSION_1_18_X
	default "1.18.3"	if BR2_BUSYBOX_VERSION_1_18_X

config BR2_PACKAGE_BUSYBOX_CONFIG
	string "BusyBox configuration file to use?"
+0 −62
Original line number Diff line number Diff line
--- busybox-1.18.2/loginutils/Config.src
+++ busybox-1.18.2-buildsys/loginutils/Config.src
@@ -186,7 +186,6 @@ config GETTY
 config LOGIN
 	bool "login"
 	default y
-	select FEATURE_SUID
 	select FEATURE_SYSLOG
 	help
 	  login is used when signing onto a system.
@@ -229,7 +228,6 @@ config FEATURE_SECURETTY
 config PASSWD
 	bool "passwd"
 	default y
-	select FEATURE_SUID
 	select FEATURE_SYSLOG
 	help
 	  passwd changes passwords for user and group accounts. A normal user
@@ -265,7 +263,6 @@ config CHPASSWD
 config SU
 	bool "su"
 	default y
-	select FEATURE_SUID
 	select FEATURE_SYSLOG
 	help
 	  su is used to become another user during a login session.
@@ -295,7 +292,6 @@ config SULOGIN
 config VLOCK
 	bool "vlock"
 	default y
-	select FEATURE_SUID
 	help
 	  Build the "vlock" applet which allows you to lock (virtual) terminals.
 
--- busybox-1.18.2/miscutils/Config.src
+++ busybox-1.18.2-buildsys/miscutils/Config.src
@@ -170,7 +170,6 @@ config FEATURE_CROND_DIR
 config CRONTAB
 	bool "crontab"
 	default y
-	select FEATURE_SUID
 	help
 	  Crontab manipulates the crontab for a particular user. Only
 	  the superuser may specify a different user and/or crontab directory.
--- busybox-1.18.2/util-linux/Config.src
+++ busybox-1.18.2-buildsys/util-linux/Config.src
@@ -354,7 +354,6 @@ config FEATURE_HWCLOCK_ADJTIME_FHS
 config IPCRM
 	bool "ipcrm"
 	default y
-	select FEATURE_SUID
 	help
 	  The ipcrm utility allows the removal of System V interprocess
 	  communication (IPC) objects and the associated data structures
@@ -364,7 +363,6 @@ config IPCS
 	bool "ipcs"
 	default y
 	depends on PLATFORM_LINUX
-	select FEATURE_SUID
 	help
 	  The ipcs utility is used to provide information on the currently
 	  allocated System V interprocess (IPC) objects in the system.
+0 −34
Original line number Diff line number Diff line
--- busybox-1.18.2/shell/hush.c
+++ busybox-1.18.2-hush/shell/hush.c
@@ -4123,15 +4123,26 @@ static struct pipe *parse_stream(char **
 				 && dest.length == 0 && !dest.has_quoted_part
 				) {
 					/* This newline can be ignored. But...
-					 * without the below check, interactive shell
-					 * will ignore even lines with bare <newline>,
-					 * and show the continuation prompt:
+					 * Without check #1, interactive shell
+					 * ignores even bare <newline>,
+					 * and shows the continuation prompt:
 					 * ps1_prompt$ <enter>
-					 * ps2> _   <=== wrong prompt, should be ps1
+					 * ps2> _   <=== wrong, should be ps1
+					 * Without check #2, "cmd & <newline>"
+					 * is similarly mistreated.
+					 * (BTW, this makes "cmd & cmd"
+					 * and "cmd && cmd" non-orthogonal.
+					 * Really, ask yourself, why
+					 * "cmd && <newline>" doesn't start
+					 * cmd but waits for more input?
+					 * No reason...)
 					 */
 					struct pipe *pi = ctx.list_head;
-					if (pi->num_cmds != 0)
+					if (pi->num_cmds != 0       /* check #1 */
+					 && pi->followup != PIPE_BG /* check #2 */
+					) {
 						continue;
+					}
 				}
 				/* Treat newline as a command separator. */
 				done_pipe(&ctx, PIPE_SEQ);
+0 −10
Original line number Diff line number Diff line
--- busybox-1.18.2/libbb/vfork_daemon_rexec.c
+++ busybox-1.18.2-libbb/libbb/vfork_daemon_rexec.c
@@ -52,6 +52,7 @@ pid_t FAST_FUNC spawn(char **argv)
 	 * Interested party can wait on pid and learn exit code.
 	 * If 111 - then it (most probably) failed to exec */
 	if (failed) {
+		safe_waitpid(pid, NULL, 0); /* prevent zombie */
 		errno = failed;
 		return -1;
 	}
+0 −19
Original line number Diff line number Diff line
--- busybox-1.18.2/modutils/modprobe-small.c
+++ busybox-1.18.2-modprobe-small/modutils/modprobe-small.c
@@ -205,6 +205,7 @@ static void parse_module(module_info *in
 	/* Read (possibly compressed) module */
 	len = 64 * 1024 * 1024; /* 64 Mb at most */
 	module_image = xmalloc_open_zipped_read_close(pathname, &len);
+	/* module_image == NULL is ok here, find_keyword handles it */
 //TODO: optimize redundant module body reads
 
 	/* "alias1 symbol:sym1 alias2 symbol:sym2" */
@@ -845,6 +846,8 @@ int modprobe_main(int argc UNUSED_PARAM,
 
 		len = MAXINT(ssize_t);
 		map = xmalloc_open_zipped_read_close(*argv, &len);
+		if (!map)
+			bb_perror_msg_and_die("can't read '%s'", *argv);
 		if (init_module(map, len,
 			IF_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE(options ? options : "")
 			IF_NOT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE("")
Loading