From ffbd6e70d1cdc2638f31860e810c17ad3d006fd6 Mon Sep 17 00:00:00 2001 From: James Moger 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 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/utils/StringUtils.java b/src/com/gitblit/utils/StringUtils.java index 07113388..d115f896 100644 --- a/src/com/gitblit/utils/StringUtils.java +++ b/src/com/gitblit/utils/StringUtils.java @@ -315,11 +315,16 @@ public class StringUtils { * @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; } /** -- 2.39.5