Commit f3c4d8e5 authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

busybox: bump 1.19.x stable version

parent fb97591e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ config BR2_BUSYBOX_VERSION
	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.5"	if BR2_BUSYBOX_VERSION_1_18_X
	default "1.19.2"	if BR2_BUSYBOX_VERSION_1_19_X
	default "1.19.3"	if BR2_BUSYBOX_VERSION_1_19_X

config BR2_PACKAGE_BUSYBOX_CONFIG
	string "BusyBox configuration file to use?"
+0 −19
Original line number Diff line number Diff line
--- busybox-1.19.2/applets/applet_tables.c
+++ busybox-1.19.2-buildsys/applets/applet_tables.c
@@ -80,8 +80,15 @@ int main(int argc, char **argv)
 
 	printf("#define NUM_APPLETS %u\n", NUM_APPLETS);
 	if (NUM_APPLETS == 1) {
+		char *dash_to_underscore, *p;
 		printf("#define SINGLE_APPLET_STR \"%s\"\n", applets[0].name);
-		printf("#define SINGLE_APPLET_MAIN %s_main\n", applets[0].name);
+		/* Example: "ether-wake" -> "ether_wake" */
+		p = dash_to_underscore = strdup(applets[0].name);
+		p--;
+		while (*++p)
+			if (*p == '-')
+				*p = '_';
+		printf("#define SINGLE_APPLET_MAIN %s_main\n", dash_to_underscore);
 	}
 	printf("\n");
 
+0 −55
Original line number Diff line number Diff line
--- busybox-1.19.2/loginutils/chpasswd.c
+++ busybox-1.19.2-chpasswd/loginutils/chpasswd.c
@@ -33,9 +33,8 @@ static const char chpasswd_longopts[] AL
 int chpasswd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int chpasswd_main(int argc UNUSED_PARAM, char **argv)
 {
-	char *name, *pass;
-	char salt[sizeof("$N$XXXXXXXX")];
-	int opt, rc;
+	char *name;
+	int opt;
 
 	if (getuid() != 0)
 		bb_error_msg_and_die(bb_msg_perm_denied_are_you_root);
@@ -45,6 +44,10 @@ int chpasswd_main(int argc UNUSED_PARAM,
 	opt = getopt32(argv, "em");
 
 	while ((name = xmalloc_fgetline(stdin)) != NULL) {
+		char *free_me;
+		char *pass;
+		int rc;
+
 		pass = strchr(name, ':');
 		if (!pass)
 			bb_error_msg_and_die("missing new password");
@@ -52,7 +55,10 @@ int chpasswd_main(int argc UNUSED_PARAM,
 
 		xuname2uid(name); /* dies if there is no such user */
 
+		free_me = NULL;
 		if (!(opt & OPT_ENC)) {
+			char salt[sizeof("$N$XXXXXXXX")];
+
 			crypt_make_salt(salt, 1);
 			if (opt & OPT_MD5) {
 				salt[0] = '$';
@@ -60,7 +66,7 @@ int chpasswd_main(int argc UNUSED_PARAM,
 				salt[2] = '$';
 				crypt_make_salt(salt + 3, 4);
 			}
-			pass = pw_encrypt(pass, salt, 0);
+			free_me = pass = pw_encrypt(pass, salt, 0);
 		}
 
 		/* This is rather complex: if user is not found in /etc/shadow,
@@ -81,8 +87,7 @@ int chpasswd_main(int argc UNUSED_PARAM,
 			bb_info_msg("Password for '%s' changed", name);
 		logmode = LOGMODE_STDIO;
 		free(name);
-		if (!(opt & OPT_ENC))
-			free(pass);
+		free(free_me);
 	}
 	return EXIT_SUCCESS;
 }
+0 −12
Original line number Diff line number Diff line
--- busybox-1.19.2/miscutils/crond.c
+++ busybox-1.19.2-crond/miscutils/crond.c
@@ -861,7 +861,8 @@ int crond_main(int argc UNUSED_PARAM, ch
 
 	/* "-b after -f is ignored", and so on for every pair a-b */
 	opt_complementary = "f-b:b-f:S-L:L-S" IF_FEATURE_CROND_D(":d-l")
-			":l+:d+"; /* -l and -d have numeric param */
+			/* -l and -d have numeric param */
+			":l+" IF_FEATURE_CROND_D(":d+");
 	opts = getopt32(argv, "l:L:fbSc:" IF_FEATURE_CROND_D("d:"),
 			&G.log_level, &G.log_filename, &G.crontab_dir_name
 			IF_FEATURE_CROND_D(,&G.log_level));
+0 −47
Original line number Diff line number Diff line
--- busybox-1.19.2/networking/inetd.c
+++ busybox-1.19.2-inetd/networking/inetd.c
@@ -1278,6 +1278,7 @@ int inetd_main(int argc UNUSED_PARAM, ch
 							sep->se_count = 0;
 							rearm_alarm(); /* will revive it in RETRYTIME sec */
 							restore_sigmask(&omask);
+							maybe_close(new_udp_fd);
 							maybe_close(accepted_fd);
 							continue; /* -> check next fd in fd set */
 						}
@@ -1298,17 +1299,18 @@ int inetd_main(int argc UNUSED_PARAM, ch
 					bb_perror_msg("vfork"+1);
 					sleep(1);
 					restore_sigmask(&omask);
+					maybe_close(new_udp_fd);
 					maybe_close(accepted_fd);
 					continue; /* -> check next fd in fd set */
 				}
 				if (pid == 0)
 					pid--; /* -1: "we did fork and we are child" */
 			}
-			/* if pid == 0 here, we never forked */
+			/* if pid == 0 here, we didn't fork */
 
 			if (pid > 0) { /* parent */
 				if (sep->se_wait) {
-					/* tcp wait: we passed listening socket to child,
+					/* wait: we passed socket to child,
 					 * will wait for child to terminate */
 					sep->se_wait = pid;
 					remove_fd_from_set(sep->se_fd);
@@ -1345,9 +1347,13 @@ int inetd_main(int argc UNUSED_PARAM, ch
 			setsid();
 			/* "nowait" udp */
 			if (new_udp_fd >= 0) {
-				len_and_sockaddr *lsa = xzalloc_lsa(sep->se_family);
+				len_and_sockaddr *lsa;
+				int r;
+
+				close(new_udp_fd);
+				lsa = xzalloc_lsa(sep->se_family);
 				/* peek at the packet and remember peer addr */
-				int r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT,
+				r = recvfrom(ctrl, NULL, 0, MSG_PEEK|MSG_DONTWAIT,
 					&lsa->u.sa, &lsa->len);
 				if (r < 0)
 					goto do_exit1;
Loading