Additional 1.4.1 patches

This commit is contained in:
Peter Korsgaard 2007-02-12 14:43:57 +00:00
parent 99cf7293f9
commit 6e53512a7d
2 changed files with 85 additions and 0 deletions

View File

@ -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);

View File

@ -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;