From b0ca3094342b9283f351b526482d6f598d07a3b7 Mon Sep 17 00:00:00 2001 From: apriestman <apriestman@basistech.com> Date: Wed, 8 Jul 2020 19:21:18 -0400 Subject: [PATCH] Encode database name for postgresql url --- .../sleuthkit/datamodel/CaseDatabaseFactory.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/bindings/java/src/org/sleuthkit/datamodel/CaseDatabaseFactory.java b/bindings/java/src/org/sleuthkit/datamodel/CaseDatabaseFactory.java index d7782fef8..9b38c21b0 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/CaseDatabaseFactory.java +++ b/bindings/java/src/org/sleuthkit/datamodel/CaseDatabaseFactory.java @@ -19,11 +19,15 @@ package org.sleuthkit.datamodel; import java.io.File; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; +import java.util.logging.Logger; +import java.util.logging.Level; import org.sleuthkit.datamodel.SQLHelper.PostgreSQLHelper; import org.sleuthkit.datamodel.SQLHelper.SQLiteHelper; @@ -32,6 +36,7 @@ */ class CaseDatabaseFactory { + private static final Logger logger = Logger.getLogger(CaseDatabaseFactory.class.getName()); private final SQLHelper dbQueryHelper; private final DbCreationHelper dbCreationHelper; @@ -511,12 +516,20 @@ Connection getPostgresConnection() throws TskCoreException { * @return the connection to the database */ Connection getConnection(String databaseName) throws TskCoreException { + String encodedDbName; + try { + encodedDbName = URLEncoder.encode(databaseName, "UTF-8"); + } catch (UnsupportedEncodingException ex) { + // Print the warning and continue with the unencoded name + logger.log(Level.WARNING, "Error encoding database name " + databaseName, ex); + encodedDbName = databaseName; + } StringBuilder url = new StringBuilder(); url.append(JDBC_BASE_URI) .append(info.getHost()) .append('/') // NON-NLS - .append(databaseName); + .append(encodedDbName); Connection conn; try { -- GitLab