Bug #78083 [Ver->Fbk]: exif_read_data() corrupt EXIF header: maximum directory nesting level reached

From: Date: Fri, 26 Feb 2021 12:17:53 +0000
Subject: Bug #78083 [Ver->Fbk]: exif_read_data() corrupt EXIF header: maximum directory nesting level reached
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-232395@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78083&edit=1 ID: 78083 Updated by: cmb@php.net Reported by: fermin at ares dot uy Summary: exif_read_data() corrupt EXIF header: maximum directory nesting level reached -Status: Verified +Status: Feedback Type: Bug Package: EXIF related Operating System: * PHP Version: 7.3.5 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: Is this resolved as of PHP 7.3.23 and 7.4.11, respectively, or is there still an issue? Previous Comments: ------------------------------------------------------------------------ [2020-08-31 08:50:14] cmb@php.net That output looks actually good to me (besides that exiftool supports way more tags than we do[1]). [1] <https://exiftool.org/TagNames/EXIF.html> ------------------------------------------------------------------------ [2020-08-31 07:59:14] nikic@php.net Or is that actually the expected output? I see that exiftool only prints an empty title as well. ------------------------------------------------------------------------ [2020-08-31 07:43:29] nikic@php.net On current 7.3 HEAD the "maximum directory nesting level" warning no longer occurs, but the output still seems to be corrupted: https://gist.github.com/nikic/4759bc05f118e0d4e59b54182c3da8f1 The "Title" is present, but probably filled with null bytes. There's a lot of "UndefinedTag" going on as well. ------------------------------------------------------------------------ [2020-07-24 09:02:00] cmb@php.net Indeed, that appears to be a bug – exiftool processes the image just fine. ------------------------------------------------------------------------ [2019-05-29 16:53:39] fermin at ares dot uy Description: ------------ When using the function "exif_read_data()" on certain jpg images it outputs this warning: "Warning: exif_read_data(php7D62.tmp): corrupt EXIF header: maximum directory nesting level reached in \path\to\index.php on line 4" And the metadata field 'title' does not show up on the resulting array. You can download a problematic image for testing here https://ares.uy/P1110193.JPG Test script: --------------- <?php if (!empty($_FILES)) { $imagen = $_FILES['imagen']['tmp_name']; $metadata = exif_read_data($imagen, 0, true); highlight_string("<?php\n\$metadata =\n" . var_export($metadata, true) . ";\n?>"); } ?> <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>EXIF TEST</title> </head> <body> <form action="/" method="post" enctype="multipart/form-data"> <input type="file" name="imagen" value=""> <input type="submit" name="" value="Print EXIF"> </form> </body> </html> Expected result: ---------------- No warning message and the complete list of metadata fields on the array outputted by the function exif_read_data. Actual result: -------------- Warning message and incomplete metadata array. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=78083&edit=1

« previous php.bugs (#232395) next »