From ffbd6e70d1cdc2638f31860e810c17ad3d006fd6 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 10 Oct 2012 16:11:17 -0400
Subject: [PATCH] Fix possible string index out of bounds exception
---
src/com/gitblit/utils/StringUtils.java | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/com/gitblit/utils/StringUtils.java b/src/com/gitblit/utils/StringUtils.java
index 0711338..d115f89 100644
--- a/src/com/gitblit/utils/StringUtils.java
+++ b/src/com/gitblit/utils/StringUtils.java
@@ -315,11 +315,16 @@
* @return the relative path
*/
public static String getRelativePath(String basePath, String fullPath) {
- String relativePath = fullPath.substring(basePath.length()).replace('\\', '/');
- if (relativePath.charAt(0) == '/') {
- relativePath = relativePath.substring(1);
+ String bp = basePath.replace('\\', '/').toLowerCase();
+ String fp = fullPath.replace('\\', '/').toLowerCase();
+ if (fp.startsWith(bp)) {
+ String relativePath = fullPath.substring(basePath.length()).replace('\\', '/');
+ if (relativePath.charAt(0) == '/') {
+ relativePath = relativePath.substring(1);
+ }
+ return relativePath;
}
- return relativePath;
+ return fullPath;
}
/**
--
Gitblit v1.9.1