]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR java/33765 (gcj internal compiler error when reading an empty file)
authorTom Tromey <tromey@redhat.com>
Fri, 2 Nov 2007 20:02:35 +0000 (20:02 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Fri, 2 Nov 2007 20:02:35 +0000 (20:02 +0000)
PR java/33765:
* jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
* zipfile.h (ZIPEMPTYMAGIC): New define.

From-SVN: r129860

gcc/java/ChangeLog
gcc/java/jcf-parse.c
gcc/java/zipfile.h

index 587178dd6de827f56fd2ff29f7560824f053b65c..194edc55a78d0d41e474d76844f9a7672bc70e1a 100644 (file)
@@ -1,3 +1,9 @@
+2007-11-02  Tom Tromey  <tromey@redhat.com>
+
+       PR java/33765:
+       * jcf-parse.c (java_parse_file): Ignore ZIPEMPTYMAGIC files.
+       * zipfile.h (ZIPEMPTYMAGIC): New define.
+
 2007-11-01  Tom Tromey  <tromey@redhat.com>
 
        * Make-lang.in (java/jcf-dump.o): Depend on zipfile.h.
index a544163c44186bf400d1ba18b10c4970814528a2..ab2a385e0e109d9785c0142c13548b3eaaeb7b5d 100644 (file)
@@ -1946,6 +1946,10 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
 #endif
          parse_zip_file_entries ();
        }
+      else if (magic == (JCF_u4) ZIPEMPTYMAGIC)
+       {
+         /* Ignore an empty input jar.  */
+       }
       else
        {
          gcc_unreachable ();
index 39e3a5f221d3be8452eefca44b9e48ee90d49b39..d78226a495cbf83c27e2cdfa956e5005044a325a 100644 (file)
@@ -58,6 +58,7 @@ extern struct ZipFile *SeenZipFiles;
 #define ZIPDIR_NEXT(ZIPD) \
    ((ZipDirectory*)((char*)(ZIPD)+(ZIPD)->direntry_size))
 #define ZIPMAGIC 0x504b0304    
+#define ZIPEMPTYMAGIC 0x504b0506
 
 extern ZipFile * opendir_in_zip (const char *, int);
 extern int read_zip_archive (ZipFile *);