summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 */