Skip to content

Renvoyer une erreur lorsque 'image_reduire_net()' échoue

Glop a demandé de fusionner gh-e6671321/4/unknown/refs/pull/4/head vers master

Bonjour,

Lorsque la fonction image_reduire_net() échoue, la fonction appelante retour_image_responsive() ne détecte pas l'erreur :

  • dans la suite de la fonction, les appels à filesize() (ligne 301), filemtime() (ligne 303) et readfile() (ligne 304) vont alors échouer et produire des avertissements PHP,
  • et une image vide sera renvoyée, avec le statut HTTP « 204 No Content ».

Cela peut arriver si la meta formats_graphiques est vide, par exemple, auquel cas il n'y a même pas de trace de l'erreur dans les logs de SPIP (voir ligne 61 : l'erreur est silencieuse).

Cette PR propose de détecter dans retour_image_responsive() le cas où l'appel à image_reduire_net() échoue, et de renvoyer alors une erreur HTTP « 500 Internal Server Error » (de manière à garder un comportement similaire à celui des premières vérifications faites par retour_image_responsive(), ligne 224).

Cette PR rajoute aussi un message dans les logs de SPIP lorsque le document passé à image_reduire_net() n'est pas une image, afin de simplifier le débogage.

Merci !

++ Glop

Rapports de requête de fusion