summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2011-02-06 20:48:53 (GMT)
committer Peter Korsgaard <jacmet@sunsite.dk>2011-02-06 20:48:53 (GMT)
commit9f31e2ffa005095206824e08f69da75503e998ab (patch)
tree312c72a32090bdb6c6c1adb6d48ccdc30eb495fa
parent4fb67dbb958f3c3bea2b5bfe34d2ffbaa6ea6e40 (diff)
downloadbuildroot-9f31e2ffa005095206824e08f69da75503e998ab.tar.gz
buildroot-9f31e2ffa005095206824e08f69da75503e998ab.tar.bz2
busybox: 1.18.2 fixes for ping, tar and udhcp
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/busybox/busybox-1.18.2/busybox-1.18.2-ping.patch11
-rw-r--r--package/busybox/busybox-1.18.2/busybox-1.18.2-tar.patch15
-rw-r--r--package/busybox/busybox-1.18.2/busybox-1.18.2-udhcp.patch11
3 files changed, 37 insertions, 0 deletions
diff --git a/package/busybox/busybox-1.18.2/busybox-1.18.2-ping.patch b/package/busybox/busybox-1.18.2/busybox-1.18.2-ping.patch
new file mode 100644
index 0000000..34262d6
--- /dev/null
+++ b/package/busybox/busybox-1.18.2/busybox-1.18.2-ping.patch
@@ -0,0 +1,11 @@
+--- busybox-1.18.2/networking/ping.c
++++ busybox-1.18.2-ping/networking/ping.c
+@@ -394,7 +394,7 @@ static void sendping4(int junk UNUSED_PA
+ #if ENABLE_PING6
+ static void sendping6(int junk UNUSED_PARAM)
+ {
+- struct icmp6_hdr *pkt = alloca(datalen + sizeof(struct icmp6_hdr) + 4);
++ struct icmp6_hdr *pkt = G.snd_packet;
+
+ //memset(pkt, 0, datalen + sizeof(struct icmp6_hdr) + 4);
+ pkt->icmp6_type = ICMP6_ECHO_REQUEST;
diff --git a/package/busybox/busybox-1.18.2/busybox-1.18.2-tar.patch b/package/busybox/busybox-1.18.2/busybox-1.18.2-tar.patch
new file mode 100644
index 0000000..5d5f721
--- /dev/null
+++ b/package/busybox/busybox-1.18.2/busybox-1.18.2-tar.patch
@@ -0,0 +1,15 @@
+--- busybox-1.18.2/archival/tar.c
++++ busybox-1.18.2-tar/archival/tar.c
+@@ -1037,8 +1037,10 @@ int tar_main(int argc UNUSED_PARAM, char
+ tar_handle->src_fd = tar_fd;
+ tar_handle->seek = seek_by_read;
+ } else {
+- if (ENABLE_FEATURE_TAR_AUTODETECT && flags == O_RDONLY) {
+- get_header_ptr = get_header_tar;
++ if (ENABLE_FEATURE_TAR_AUTODETECT
++ && flags == O_RDONLY
++ && get_header_ptr == get_header_tar
++ ) {
+ tar_handle->src_fd = open_zipped(tar_filename);
+ if (tar_handle->src_fd < 0)
+ bb_perror_msg_and_die("can't open '%s'", tar_filename);
diff --git a/package/busybox/busybox-1.18.2/busybox-1.18.2-udhcp.patch b/package/busybox/busybox-1.18.2/busybox-1.18.2-udhcp.patch
new file mode 100644
index 0000000..bed4f4d
--- /dev/null
+++ b/package/busybox/busybox-1.18.2/busybox-1.18.2-udhcp.patch
@@ -0,0 +1,11 @@
+--- busybox-1.18.2/networking/udhcp/common.c
++++ busybox-1.18.2-udhcp/networking/udhcp/common.c
+@@ -375,7 +375,7 @@ static NOINLINE void attach_option(
+ new->data = xmalloc(length + OPT_DATA);
+ new->data[OPT_CODE] = optflag->code;
+ new->data[OPT_LEN] = length;
+- memcpy(new->data + OPT_DATA, buffer, length);
++ memcpy(new->data + OPT_DATA, (allocated ? allocated : buffer), length);
+
+ curr = opt_list;
+ while (*curr && (*curr)->data[OPT_CODE] < optflag->code)