[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fop-cvs
Subject:    svn commit: r1901445 - in /xmlgraphics/fop/trunk/fop-core/src: main/java/org/apache/fop/fonts/autode
From:       ssteiner () apache ! org
Date:       2022-05-31 10:55:23
Message-ID: 20220531105523.E5A2717A525 () svn01-us-east ! apache ! org
[Download RAW message or body]

Author: ssteiner
Date: Tue May 31 10:55:23 2022
New Revision: 1901445

URL: http://svn.apache.org/viewvc?rev=1901445&view=rev
Log:
FOP-3068: NPE when reading a invalid TTC file

Added:
    xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/FontInfoFinderTestCase.java \
(with props) Modified:
    xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java


Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apa \
che/fop/fonts/autodetect/FontInfoFinder.java?rev=1901445&r1=1901444&r2=1901445&view=diff
 ==============================================================================
--- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java \
                (original)
+++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java \
Tue May 31 10:55:23 2022 @@ -203,6 +203,9 @@ public class FontInfoFinder {
                 TTFFile ttf = new TTFFile(false, false);
                 FontFileReader reader = new FontFileReader(in);
                 ttcNames = ttf.getTTCnames(reader);
+                if (ttcNames == null) {
+                    return null;
+                }
             } catch (Exception e) {
                 if (this.eventListener != null) {
                     this.eventListener.fontLoadingErrorAtAutoDetection(this,

Added: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/FontInfoFinderTestCase.java
                
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/FontInfoFinderTestCase.java?rev=1901445&view=auto
 ==============================================================================
--- xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/FontInfoFinderTestCase.java \
                (added)
+++ xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/FontInfoFinderTestCase.java \
Tue May 31 10:55:23 2022 @@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* $Id$ */
+package org.apache.fop.fonts;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.apache.commons.io.IOUtils;
+
+import org.apache.fop.apps.io.InternalResourceResolver;
+import org.apache.fop.apps.io.ResourceResolverFactory;
+import org.apache.fop.fonts.autodetect.FontInfoFinder;
+
+public class FontInfoFinderTestCase {
+    @Test
+    public void testInvalidTTC() throws Exception {
+        InternalResourceResolver rr = \
ResourceResolverFactory.createDefaultInternalResourceResolver( +                new \
File(".").toURI()); +        File ttc = File.createTempFile("fop", ".ttc");
+        File ttf = new File("test/resources/fonts/ttf/glb12.ttf");
+        byte[] ttfBytes = IOUtils.toByteArray(new FileInputStream(ttf));
+        new FileOutputStream(ttc).write(ttfBytes);
+        EmbedFontInfo[] embedFontInfos = new FontInfoFinder().find(ttc.toURI(), rr, \
null); +        ttc.delete();
+        Assert.assertNull(embedFontInfos);
+    }
+}

Propchange: xmlgraphics/fop/trunk/fop-core/src/test/java/org/apache/fop/fonts/FontInfoFinderTestCase.java
                
------------------------------------------------------------------------------
    svn:eol-style = native



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic