diff options
author | Tom Tromey <tromey@redhat.com> | 2004-09-23 23:40:33 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2004-09-23 23:40:33 +0000 |
commit | 847450b41d77461a88cde1fb4dffd5bde6f50c39 (patch) | |
tree | 541e6d79f69901b6c7292109afe7bbf4731e4333 /fastjar | |
parent | e758023dab54625ad05875ce5c61d76a8b8a531d (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | fastjar/jartool.c | 6 |
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 */ |