You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2025/01/28 17:00:23 UTC

(tika) branch main updated: TIKA-4337 -- check for empty string in array index 1 (#2109)

This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new 9a6bda5fa TIKA-4337 -- check for empty string in array index 1 (#2109)
9a6bda5fa is described below

commit 9a6bda5fadcc4c287926ec3361c6f398d113eab0
Author: Tim Allison <ta...@apache.org>
AuthorDate: Tue Jan 28 12:00:17 2025 -0500

    TIKA-4337 -- check for empty string in array index 1 (#2109)
---
 .../tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java       | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java
index e6464639f..c6114ab23 100644
--- a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java
+++ b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java
@@ -32,6 +32,7 @@ import org.xml.sax.helpers.DefaultHandler;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.sax.XHTMLContentHandler;
+import org.apache.tika.utils.StringUtils;
 
 
 /**
@@ -247,10 +248,10 @@ class XPSPageContentHandler extends DefaultHandler {
             for (String indexString : indicesString.split(";", -1)) {
                 // We only want to extract the advance which will be the second comma separated value
                 String[] commaSplit = indexString.split(",", -1);
-                if (commaSplit.length < 2) {
+                if (commaSplit.length < 2 || StringUtils.isBlank(commaSplit[1])) {
                     indices.add(new GlyphIndex(0.0f));
                 } else {
-                    // Advance is measured in hundreths so divide by 100
+                    // Advance is measured in hundredths so divide by 100
                     float advance = Float.parseFloat(commaSplit[1]) / 100.0f;
                     indices.add(new GlyphIndex(advance));
                 }