summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2011-04-25 17:07:37 -0700
committerSaul Wold <sgw@linux.intel.com>2011-05-06 17:44:24 -0700
commit00996de4eb526ed3e7ca2e363a4a6d0d26e31ffd (patch)
treeccd0a8202290e6a39f553e1f90c40f9e16eb2437 /meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch
parent5a9b3fecdedf5b5d6b5d0bc23354dbefd6f10eaa (diff)
downloadpoky-00996de4eb526ed3e7ca2e363a4a6d0d26e31ffd.tar.gz
tar-1.17 (GPLv2) bugfix
This fixes bug [YOCTO #982] (From OE-Core rev: 9346961f863b2e0d6489615fa976b002553123de) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch')
-rw-r--r--meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch b/meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch
new file mode 100644
index 0000000000..b1b2de6b04
--- /dev/null
+++ b/meta/recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch
@@ -0,0 +1,22 @@
1Upstream-Status="Inappropriate [bugfix: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624]"
2
3This patch avoids heap overflow reported by :
4http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0624
5
6This is a clean patch for the GPLv2 tar recipe.
7
8Nitin A Kamble <nitin.a.kamble@intel.com> 2011/04/25
9
10Index: tar-1.17/lib/rtapelib.c
11===================================================================
12--- tar-1.17.orig/lib/rtapelib.c
13+++ tar-1.17/lib/rtapelib.c
14@@ -570,7 +570,7 @@ rmt_read__ (int handle, char *buffer, si
15
16 sprintf (command_buffer, "R%lu\n", (unsigned long) length);
17 if (do_command (handle, command_buffer) == -1
18- || (status = get_status (handle)) == SAFE_READ_ERROR)
19+ || ((status = get_status (handle)) == SAFE_READ_ERROR) || (status > length))
20 return SAFE_READ_ERROR;
21
22 for (counter = 0; counter < status; counter += rlen, buffer += rlen)