Bug #78183 [Com]: finfo_file shows wrong mime-type for .tga file

From: Date: Thu, 27 Jun 2019 14:35:15 +0000
Subject: Bug #78183 [Com]: finfo_file shows wrong mime-type for .tga file
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-221516@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78183&edit=1

 ID:                 78183
 Comment by:         dev at jdoubleu dot de
 Reported by:        dev at jdoubleu dot de
 Summary:            finfo_file shows wrong mime-type for .tga file
 Status:             Feedback
 Type:               Bug
 Package:            Filesystem function related
 Operating System:   Linux
 PHP Version:        7.2.19
 Block user comment: N
 Private report:     N

 New Comment:

I found the cause for this issue:

It has something to do with the underlying libmagic (or file) library.

This commit
(https://github.com/file/file/commit/bb421c437d406760fb9f70f49e2eb5c504528450#diff-5c8aa65000f916c2f4b5c29c808ea851)
fixes the duplicate output for tga images.

It looks like this issue does not appear in version 5.32 or later anymore.


Previous Comments:
------------------------------------------------------------------------
[2019-06-22 20:38:55] dev at jdoubleu dot de

According to git the ext-fileinfo did not change between 7.2 and 7.3 (see https://github.com/php/php-src/compare/PHP-7.2/ext/fileinfo/fileinfo.c..PHP-7.3/).

Running the script under 7.1 returns "application/octet-stream". This might be related to
https://bugs.php.net/bug.php?id=67516 (and
others).

Libmagic was updated from version 531 (PHP7.2) to 533 (PHP7.3).

------------------------------------------------------------------------
[2019-06-21 13:10:23] dev at jdoubleu dot de

I have uploaded the images to Docker Hub: https://hub.docker.com/r/jdoubleu/php-bug-78183

Running the script in Travis CI also confirms this bug: https://travis-ci.com/jdoubleu/php-bug-78183/builds/116430262#L236

------------------------------------------------------------------------
[2019-06-21 06:28:01] krakjoe@php.net

Ah, I still had this page open from yesterday, and saw your comment after I posted analysis.

I'll take another look ...

------------------------------------------------------------------------
[2019-06-21 06:25:39] krakjoe@php.net

I cannot reproduce this error, in addition, our use of the underlying API (magic_stream)
doesn't seem to allow us to cause this, the only thing I can think of is that maybe the magic
database is somehow corrupted, but this seems highly unlikely.

Running the script as it was is not possible from my location, and so probably the same is true for
others.

I suggest you upload the image to a globally accessible location, and suggest you expand the test
script to include buffer (string) and stream (resource) usages.

------------------------------------------------------------------------
[2019-06-19 16:29:46] dev at jdoubleu dot de

I created a repository on github which tests this bug against PHP 7.2, 7.3 and 7.3RC1 inside docker
containers: https://github.com/jdoubleu/php-bug-78183

The issue only affects PHP 7.2

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=78183


--
Edit this bug report at https://bugs.php.net/bug.php?id=78183&edit=1


Thread (9 messages)

« previous php.bugs (#221516) next »