Processing media with GraphicsMagick (and probably others) fails completely yet silently on Windows for certain paths

Description

On Windows, whenever the path to the files to be processed contain spaces, as is often the case, GraphicsMagick receives an unescaped command line that leads to file not found errors in the log on the various path bits. The target files are not processed, yet with the missing return/exception handling for execs on Windows, the processing UI reports success but no visible thumbnails and images at all are presented to the user.

Traced back to:
Don't filter "%" characters (or anything else...) on Window…
which throws the baby out with the bathwater.

Going to:

function caEscapeShellArg($ps_text) {
// Don't escape on Windows as many of our exec()'s rely upon sending "%" characters...
return caIsWindows() ? '"' . addcslashes($s, '
"') . '"' : escapeshellarg($ps_text);
}
avoids the immediate problem encountered, but this could be far from correct in other cases.

If someone with Windows cmd fu and an understanding of the issues that led to could give a more authoritative solution it would save a lot of grief for 1.7.9 CA installs on Windows. At least it warrants a "known bugs" warning.

Environment

Windows

Assignee

Seth

Reporter

yelto

Labels

None

Components

Affects versions

Priority

Critical