From: Sam Wilson Date: Sat, 30 Jun 2018 07:55:47 +0000 (+0800) Subject: Guard against uncountable tag values X-Git-Tag: 1.34.0-rc.0~4635^2 X-Git-Url: http://git.cyclocoop.org/data/%24oldEdit?a=commitdiff_plain;h=61af022e5f8e06c2588a8fc3fd003f52bdb85b08;p=lhc%2Fweb%2Fwiklou.git Guard against uncountable tag values As of PHP 7.2 counting false or null raises a "Warning: count(): Parameter must be an array or an object that implements Countable". Bug: T182377 Bug: T196793 Change-Id: I7ca38bc55ae04f68106fe0d27c7d496da1538459 --- diff --git a/includes/media/Exif.php b/includes/media/Exif.php index e4de0a1b5f..9977f45abd 100644 --- a/includes/media/Exif.php +++ b/includes/media/Exif.php @@ -742,12 +742,16 @@ class Exif { $ecount = 1; // checking individual elements } } - $count = count( $val ); - if ( $ecount != $count ) { - $this->debug( $val, __FUNCTION__, "Expected $ecount elements for $tag but got $count" ); - return false; + $count = 1; + if ( is_array( $val ) ) { + $count = count( $val ); + if ( $ecount != $count ) { + $this->debug( $val, __FUNCTION__, "Expected $ecount elements for $tag but got $count" ); + return false; + } } + // If there are multiple values, recursively validate each of them. if ( $count > 1 ) { foreach ( $val as $v ) { if ( !$this->validate( $section, $tag, $v, true ) ) {