From 4ab0701ca2eba12dc26c644b0f16a486cfa17433 Mon Sep 17 00:00:00 2001 From: Jorge Ruesga Date: Thu, 22 Nov 2012 02:44:45 +0100 Subject: [PATCH] CMFileManager: Escape $ on prepared arguments Escape $ character when passing arguments to shell. xe: create new file with name "$My Documents" Change-Id: I939d830beaa4c372aa679f3d27f7c691a29c421e --- src/com/cyanogenmod/filemanager/util/ShellHelper.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/cyanogenmod/filemanager/util/ShellHelper.java b/src/com/cyanogenmod/filemanager/util/ShellHelper.java index 4f1b92e25..e497bcf61 100644 --- a/src/com/cyanogenmod/filemanager/util/ShellHelper.java +++ b/src/com/cyanogenmod/filemanager/util/ShellHelper.java @@ -42,7 +42,9 @@ public static String prepareArgument(final String arg) { if (arg == null) { return null; } - return arg.replace("\"", "\\\""); //$NON-NLS-1$//$NON-NLS-2$ + String preparedArgs = arg.replace("\"", "\\\""); //$NON-NLS-1$//$NON-NLS-2$ + preparedArgs = preparedArgs.replace("$", "\\$"); //$NON-NLS-1$//$NON-NLS-2$ + return preparedArgs; } /**