aboutsummaryrefslogtreecommitdiff
path: root/fastjar
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2004-09-23 23:40:33 +0000
committerTom Tromey <tromey@gcc.gnu.org>2004-09-23 23:40:33 +0000
commit847450b41d77461a88cde1fb4dffd5bde6f50c39 (patch)
tree541e6d79f69901b6c7292109afe7bbf4731e4333 /fastjar
parente758023dab54625ad05875ce5c61d76a8b8a531d (diff)
downloadgcc-847450b41d77461a88cde1fb4dffd5bde6f50c39.zip
gcc-847450b41d77461a88cde1fb4dffd5bde6f50c39.tar.gz
gcc-847450b41d77461a88cde1fb4dffd5bde6f50c39.tar.bz2
jartool.c (extract_jar): Unconditionally read extra data in the entry header...
* jartool.c (extract_jar): Unconditionally read extra data in the entry header; don't read it after the file contents. From-SVN: r87990
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 5653811..609b339 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 f43af14..9431bb5 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 */