Added a separate error message for mkdir failures
authorLee Bousfield <ljbousfield@gmail.com>
Thu, 4 Feb 2016 04:21:22 +0000 (21:21 -0700)
committerNemo bis <federicoleva@tiscali.it>
Tue, 13 Jun 2017 15:05:18 +0000 (15:05 +0000)
Bug: T125595
Change-Id: Id2daaad45c594d6f6265120039ca30742472987e

includes/media/SVG.php

index 1118598..457137b 100644 (file)
@@ -204,7 +204,17 @@ class SvgHandler extends ImageHandler {
                // https://git.gnome.org/browse/librsvg/commit/?id=f01aded72c38f0e18bc7ff67dee800e380251c8e
                $tmpDir = wfTempDir() . '/svg_' . wfRandomString( 24 );
                $lnPath = "$tmpDir/" . basename( $srcPath );
-               $ok = mkdir( $tmpDir, 0771 ) && symlink( $srcPath, $lnPath );
+               $ok = mkdir( $tmpDir, 0771 );
+               if ( !$ok ) {
+                       wfDebugLog( 'thumbnail',
+                               sprintf( 'Thumbnail failed on %s: could not create temporary directory %s',
+                                       wfHostname(), $tmpDir ) );
+                       return new MediaTransformError( 'thumbnail_error',
+                               $params['width'], $params['height'],
+                               wfMessage( 'thumbnail-temp-create' )->text()
+                       );
+               }
+               $ok = symlink( $srcPath, $lnPath );
                /** @noinspection PhpUnusedLocalVariableInspection */
                $cleaner = new ScopedCallback( function () use ( $tmpDir, $lnPath ) {
                        MediaWiki\suppressWarnings();