Skip to content
Extraits de code Groupes Projets
Valider 9a6068ab rédigé par cerdic's avatar cerdic Validation de marcimat
Parcourir les fichiers

fix: Vérifier la crédibilité de `width` et `height` des balises d’image

Ne pas se fier les yeux fermés aux balises width et height des images ;
Vérifier leur crédibilité, caster en int les tailles dans `_image_valeurs_trans()`.

Ce n'est peut être pas idéal sur des petits svg avec des tailles non entières,
mais toute la chaine des filtres image attend des tailles entières...

Refs: #5358
(cherry picked from commit 95772f09)
parent d21a8ccb
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -616,6 +616,9 @@ function infos_image($img, $force_refresh = false) {
} else {
$srcWidth = extraire_attribut($img, 'width');
$srcHeight = extraire_attribut($img, 'height');
if (!ctype_digit(strval($srcWidth)) or !ctype_digit(strval($srcHeight))) {
$srcWidth = $srcHeight = 0;
}
}
// ne jamais operer directement sur une image distante pour des raisons de perfo
......
......@@ -409,8 +409,12 @@ function _image_valeurs_trans($img, $effet, $forcer_format = false, $fonction_cr
return false;
}
// pas de taille mesurable
if (!($ret['hauteur'] or $ret['largeur'])) {
// pas de taille mesurable ?
if (!$ret['hauteur']
or !($ret['hauteur'] = intval(round($ret['hauteur'])))
or !$ret['largeur']
or !($ret['largeur'] = intval(round($ret['largeur'])))
) {
return false;
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter