libbluray | branch: master | hpi1 <[email protected]> | Thu Apr 2 17:36:47 2015 +0300| [47388e95c26866a3599d00d160952a5db49924b4] | committer: hpi1
JSM: fix getCanonPath(..."/*") > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=47388e95c26866a3599d00d160952a5db49924b4 --- src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java b/src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java index 8a692d0..d75da32 100644 --- a/src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java +++ b/src/libbluray/bdj/java/org/videolan/BDJSecurityManager.java @@ -243,6 +243,8 @@ final class BDJSecurityManager extends SecurityManager { private String getCanonPath(String origPath) { + String suffix = ""; + if (!java.io.BDFileSystem.isAbsolutePath(origPath)) { String home = BDJXletContext.getCurrentXletHome(); if (home == null) { @@ -252,6 +254,11 @@ final class BDJSecurityManager extends SecurityManager { origPath = home + origPath; } + if (origPath.endsWith(File.separator + "*")) { + suffix = File.separator + "*"; + origPath = origPath.substring(0, origPath.length() - 2); + } + final String path = origPath; String cpath = (String)AccessController.doPrivileged(new PrivilegedAction() { public Object run() { @@ -266,7 +273,7 @@ final class BDJSecurityManager extends SecurityManager { if (cpath == null) { throw new SecurityException("cant canonicalize " + path); } - return cpath; + return cpath + suffix; } /* _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
