You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by an...@apache.org on 2014/07/22 16:28:33 UTC

git commit: Escaping regex special chars (esp. '\') in delimiter matching

Repository: jclouds
Updated Branches:
  refs/heads/another-win-itest-fix [created] 8f3564aeb


Escaping regex special chars (esp. '\') in delimiter matching

Uncovered by 370194b


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/8f3564ae
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/8f3564ae
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/8f3564ae

Branch: refs/heads/another-win-itest-fix
Commit: 8f3564aeb7108b193a282084c93fee7d66b736c3
Parents: f17c876
Author: Andrew Phillips <an...@apache.org>
Authored: Tue Jul 22 10:25:51 2014 -0400
Committer: Andrew Phillips <an...@apache.org>
Committed: Tue Jul 22 10:25:51 2014 -0400

----------------------------------------------------------------------
 .../main/java/org/jclouds/blobstore/LocalAsyncBlobStore.java    | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/8f3564ae/blobstore/src/main/java/org/jclouds/blobstore/LocalAsyncBlobStore.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/LocalAsyncBlobStore.java b/blobstore/src/main/java/org/jclouds/blobstore/LocalAsyncBlobStore.java
index 88117e4..a411e21 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/LocalAsyncBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/LocalAsyncBlobStore.java
@@ -33,6 +33,7 @@ import java.io.IOException;
 import java.util.Date;
 import java.util.Set;
 import java.util.SortedSet;
+import java.util.regex.Pattern;
 
 import javax.annotation.Resource;
 import javax.inject.Inject;
@@ -332,7 +333,7 @@ public class LocalAsyncBlobStore extends BaseAsyncBlobStore {
          // ensure we don't accidentally append twice
          String toMatch = prefix.endsWith("/") ? prefix : prefix + delimiter;
          if (metadata.getName().startsWith(toMatch)) {
-            String unprefixedName = metadata.getName().replaceFirst(toMatch, "");
+            String unprefixedName = metadata.getName().replaceFirst(Pattern.quote(toMatch), "");
             if (unprefixedName.equals("")) {
                // we are the prefix in this case, return false
                return false;
@@ -359,7 +360,7 @@ public class LocalAsyncBlobStore extends BaseAsyncBlobStore {
             // ensure we don't accidentally append twice
             String toMatch = prefix.endsWith("/") ? prefix : prefix + delimiter;
             if (working.startsWith(toMatch)) {
-               working = working.replaceFirst(toMatch, "");
+               working = working.replaceFirst(Pattern.quote(toMatch), "");
             }
          }
          if (working.contains(delimiter)) {