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 2022/05/03 18:30:12 UTC

[tika] branch main updated: TIKA-3748 -- escape replacements correctly

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 c8861d269 TIKA-3748 -- escape replacements correctly
c8861d269 is described below

commit c8861d269a1cd03857123567a03319f6ba54c175
Author: tallison <ta...@apache.org>
AuthorDate: Tue May 3 14:30:00 2022 -0400

    TIKA-3748 -- escape replacements correctly
---
 .../src/main/java/org/apache/tika/server/core/TikaServerConfig.java  | 2 +-
 .../test/java/org/apache/tika/server/core/TikaServerConfigTest.java  | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerConfig.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerConfig.java
index 4a00ba0ba..75254a968 100644
--- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerConfig.java
+++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerConfig.java
@@ -646,7 +646,7 @@ public class TikaServerConfig extends ConfigBase {
                 LOG.warn("no system property set for {}, falling back to {}", m.group(1), arg);
                 return arg;
             }
-            m.appendReplacement(sb, prop);
+            m.appendReplacement(sb, Matcher.quoteReplacement(prop));
         }
         m.appendTail(sb);
         return sb.toString();
diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerConfigTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerConfigTest.java
index 7e9f051db..55411c91b 100644
--- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerConfigTest.java
+++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerConfigTest.java
@@ -129,18 +129,21 @@ public class TikaServerConfigTest {
     public void testInterpolation() throws Exception {
         List<String> input = new ArrayList<>();
         System.setProperty("logpath", "qwertyuiop");
+        System.setProperty("logslash", "qwerty\\uiop");
         try {
             input.add("-Dlogpath=\"${sys:logpath}\"");
             input.add("-Dlogpath=no-interpolation");
             input.add("-Xlogpath=\"${sys:logpath}\"");
+            input.add("-Dlogpath=\"${sys:logslash}\"");
 
             List<String> output = TikaServerConfig.interpolateSysProps(input);
             assertEquals("-Dlogpath=\"qwertyuiop\"", output.get(0));
             assertEquals("-Dlogpath=no-interpolation", output.get(1));
             assertEquals("-Xlogpath=\"${sys:logpath}\"", output.get(2));
-
+            assertEquals("-Dlogpath=\"qwerty\\uiop\"", output.get(3));
         } finally {
             System.clearProperty("logpath");
+            System.clearProperty("logslash");
         }
     }
 }