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

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


The following commit(s) were added to refs/heads/main by this push:
     new 6dc20186b4 Sanitize project home path #8062 (#8111)
6dc20186b4 is described below

commit 6dc20186b47f6cacf903f4bf82eb91188c8ea13c
Author: Nicolas Adment <[email protected]>
AuthorDate: Thu Aug 27 14:09:02 2026 +0200

    Sanitize project home path #8062 (#8111)
---
 .../org/apache/hop/projects/project/ProjectDialog.java   | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git 
a/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/ProjectDialog.java
 
b/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/ProjectDialog.java
index e77b5f59fd..5388ca0f8a 100644
--- 
a/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/ProjectDialog.java
+++ 
b/plugins/misc/projects/src/main/java/org/apache/hop/projects/project/ProjectDialog.java
@@ -753,12 +753,24 @@ public class ProjectDialog extends Dialog {
     }
   }
 
+  /** Sanitize the path by removing leading/trailing whitespace and any 
trailing file separator. */
+  protected String sanitizePath(String path) {
+    if (path == null) {
+      return null;
+    }
+    path = path.trim();
+    while (path.endsWith("/") || path.endsWith("\\")) {
+      path = path.substring(0, path.length() - 1);
+    }
+    return path;
+  }
+
   private void ok() {
     try {
       String oriProjectName = projectConfig.getProjectName();
       String oriProjectHome = projectConfig.getProjectHome();
 
-      String homeFolder = wHome.getText();
+      String homeFolder = sanitizePath(wHome.getText());
       boolean projectHomeFolderChanged = this.editMode && 
!oriProjectHome.equals(homeFolder);
       boolean readOnly = wReadOnly.getSelection();
 
@@ -976,7 +988,7 @@ public class ProjectDialog extends Dialog {
   private void getInfo(Project project, ProjectConfig projectConfig) throws 
HopException {
 
     projectConfig.setProjectName(wName.getText());
-    projectConfig.setProjectHome(wHome.getText());
+    projectConfig.setProjectHome(sanitizePath(wHome.getText()));
     projectConfig.setConfigFilename(wConfigFile.getText());
     projectConfig.setReadOnly(wReadOnly.getSelection());
 

Reply via email to