summaryrefslogtreecommitdiff
path: root/fastjar
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-23 23:40:33 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-23 23:40:33 +0000
commitf96e92d9c6feb507d051e500b21ee88275a027b3 (patch)
tree541e6d79f69901b6c7292109afe7bbf4731e4333 /fastjar
parent24e179d2815df23db744e4393308e9afb83bd932 (diff)
downloadgcc-f96e92d9c6feb507d051e500b21ee88275a027b3.tar.gz
* jartool.c (extract_jar): Unconditionally read extra data in the
entry header; don't read it after the file contents. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87990 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'fastjar')
-rw-r--r--fastjar/ChangeLog5
-rw-r--r--fastjar/jartool.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/fastjar/ChangeLog b/fastjar/ChangeLog
index 56538111880..609b3390573 100644
--- a/fastjar/ChangeLog
+++ b/fastjar/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-23 Tom Tromey <tromey@redhat.com>
+
+ * jartool.c (extract_jar): Unconditionally read extra data in the
+ entry header; don't read it after the file contents.
+
2004-08-11 Kelley Cook <kcook@gcc.gnu.org>
PR bootstrap/16164
diff --git a/fastjar/jartool.c b/fastjar/jartool.c
index f43af14a62d..9431bb5e0a2 100644
--- a/fastjar/jartool.c
+++ b/fastjar/jartool.c
@@ -1805,8 +1805,10 @@ int extract_jar(int fd, char **files, int file_num){
exit(1);
}
+ if (eflen > 0)
+ consume(&pbf, eflen);
+
if(method == 8 || flags & 0x0008){
- consume(&pbf, eflen);
inflate_file(&pbf, f_fd, &ze);
} else {
@@ -1839,8 +1841,6 @@ int extract_jar(int fd, char **files, int file_num){
printf("%d bytes written\n", out_a);
#endif
}
-
- consume(&pbf, eflen);
}
/* if there is a data descriptor left, compare the CRC */