media: Capture stderr when running 'convert --version'

At Wikimedia, $wgImageMagickConvertCommand points to a shell wrapper
that invokes ImageMagick convert with:

  firejail --profile=/etc/firejail/mediawiki-converters.profile

firejail emits to stderr an information message:

  Reading profile /etc/firejail/mediawiki-converters.profile

That ends up in HHVM stderr and is populated up to logstash as an error.

MediaWiki does check imagemagick version by running `convert -version`,
switch from wfShellExec() to wfShellExecWithStderr().

Bug: T158649
Change-Id: I78d1ef59533c605f59b42e10556bb595d6c2cc15
This commit is contained in:
Antoine Musso 2017-04-14 16:51:27 +02:00 committed by Krinkle
parent 7dfe22b45e
commit c5d736bcad

View file

@ -521,7 +521,7 @@ abstract class TransformationalImageHandler extends ImageHandler {
$cmd = wfEscapeShellArg( $wgImageMagickConvertCommand ) . ' -version';
wfDebug( $method . ": Running convert -version\n" );
$retval = '';
$return = wfShellExec( $cmd, $retval );
$return = wfShellExecWithStderr( $cmd, $retval );
$x = preg_match(
'/Version: ImageMagick ([0-9]*\.[0-9]*\.[0-9]*)/', $return, $matches
);