diff options
| -rw-r--r-- | package/busybox/busybox-1.4.1-iproute.patch | 71 | ||||
| -rw-r--r-- | package/busybox/busybox-1.4.1-wgetSEGV.patch | 14 | 
2 files changed, 85 insertions, 0 deletions
| diff --git a/package/busybox/busybox-1.4.1-iproute.patch b/package/busybox/busybox-1.4.1-iproute.patch new file mode 100644 index 000000000..19ab74bc4 --- /dev/null +++ b/package/busybox/busybox-1.4.1-iproute.patch @@ -0,0 +1,71 @@ +diff -urN busybox-1.4.1/networking/ip.c busybox-1.4.1-iproute/networking/ip.c +--- busybox-1.4.1/networking/ip.c	2007-01-24 22:34:34.000000000 +0100 ++++ busybox-1.4.1-iproute/networking/ip.c	2007-01-27 14:07:05.000000000 +0100 +@@ -33,8 +33,9 @@ + 		if (ENABLE_FEATURE_IP_LINK && matches(argv[1], "link") == 0) { + 			ret = do_iplink(argc-2, argv+2); + 		} +-		if (ENABLE_FEATURE_IP_TUNNEL && +-			(matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0)) { ++		if (ENABLE_FEATURE_IP_TUNNEL ++		 && (matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0) ++		) { + 			ret = do_iptunnel(argc-2, argv+2); + 		} + 		if (ENABLE_FEATURE_IP_RULE && matches(argv[1], "rule") == 0) { +diff -urN busybox-1.4.1/networking/libiproute/iproute.c busybox-1.4.1-iproute/networking/libiproute/iproute.c +--- busybox-1.4.1/networking/libiproute/iproute.c	2007-01-24 22:34:33.000000000 +0100 ++++ busybox-1.4.1-iproute/networking/libiproute/iproute.c	2007-01-27 14:07:05.000000000 +0100 +@@ -835,9 +835,11 @@ +  + int do_iproute(int argc, char **argv) + { +-	static const char * const ip_route_commands[] = +-		{ "add", "append", "change", "chg", "delete", "get", +-		"list", "show", "prepend", "replace", "test", "flush", 0 }; ++	static const char * const ip_route_commands[] = { ++	/*0-3*/	"add", "append", "change", "chg", ++	/*4-7*/	"delete", "get", "list", "show", ++	/*8..*/	"prepend", "replace", "test", "flush", 0 ++	}; + 	int command_num = 6; + 	unsigned int flags = 0; + 	int cmd = RTM_NEWROUTE; +@@ -848,7 +850,7 @@ + 		command_num = index_in_substr_array(ip_route_commands, *argv); + 	} + 	switch (command_num) { +-		case 0: /* add*/ ++		case 0: /* add */ + 			flags = NLM_F_CREATE|NLM_F_EXCL; + 			break; + 		case 1: /* append */ +@@ -859,21 +861,20 @@ + 			flags = NLM_F_REPLACE; + 			break; + 		case 4: /* delete */ +-		case 5: /* del */ + 			cmd = RTM_DELROUTE; + 			break; +-		case 6: /* get */ ++		case 5: /* get */ + 			return iproute_get(argc-1, argv+1); +-		case 7: /* list */ +-		case 8: /* show */ ++		case 6: /* list */ ++		case 7: /* show */ + 			return iproute_list_or_flush(argc-1, argv+1, 0); +-		case 9: /* prepend */ ++		case 8: /* prepend */ + 			flags = NLM_F_CREATE; +-		case 10: /* replace */ ++		case 9: /* replace */ + 			flags = NLM_F_CREATE|NLM_F_REPLACE; +-		case 11: /* test */ ++		case 10: /* test */ + 			flags = NLM_F_EXCL; +-		case 12: /* flush */ ++		case 11: /* flush */ + 			return iproute_list_or_flush(argc-1, argv+1, 1); + 		default: + 			bb_error_msg_and_die("unknown command %s", *argv); diff --git a/package/busybox/busybox-1.4.1-wgetSEGV.patch b/package/busybox/busybox-1.4.1-wgetSEGV.patch new file mode 100644 index 000000000..8375cc79c --- /dev/null +++ b/package/busybox/busybox-1.4.1-wgetSEGV.patch @@ -0,0 +1,14 @@ +diff -urN busybox-1.4.1/networking/wget.c busybox-1.4.1-wgetSEGV/networking/wget.c +--- busybox-1.4.1/networking/wget.c	2007-01-24 22:34:34.000000000 +0100 ++++ busybox-1.4.1-wgetSEGV/networking/wget.c	2007-02-11 17:21:18.000000000 +0100 +@@ -543,7 +543,9 @@ + 	p = strchr(h->host, '?'); if (!sp || (p && sp > p)) sp = p; + 	p = strchr(h->host, '#'); if (!sp || (p && sp > p)) sp = p; + 	if (!sp) { +-		h->path = ""; ++		/* must be writable because of bb_get_last_path_component() */ ++		static char nullstr[] = ""; ++		h->path = nullstr; + 	} else if (*sp == '/') { + 		*sp = '\0'; + 		h->path = sp + 1; | 
