Skip to content

UBSan alert in ext/gd/libgd/wbmp.c:47 #16232

Closed

Description

@YuanchengJiang

Description

The following code:

<?php
$filename = __DIR__ . '/_tmp.wbmp';
$fp = fopen($filename,"wb");
$c = 0;
fputs($fp, chr($c), 1);
fputs($fp, $c, 1);
$c = 0x84;
for ($i=0; $i<10000; $i++) {
fwrite($fp, chr($c), 1);
}
$im = imagecreatefromwbmp($filename);

Resulted in this output:

/php-src/ext/gd/libgd/wbmp.c:47:18: runtime error: left shift of 1082196484 by 7 places cannot be represented in type 'int'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /php-src/ext/gd/libgd/wbmp.c:47:18

PHP Version

PHP 8.4.0-dev

Operating System

ubuntu 22.04

Activity

  1. self-assigned this
    on Oct 5, 2024
  2. ndossche commented on Oct 5, 2024

    @ndossche
    Member

    @YuanchengJiang libgd is a bundled library, you should actually report this upstream as well: https://github.com/libgd/libgd

  3. added a commit that references this issue on Oct 5, 2024
    ad43470
  4. added a commit that references this issue on Oct 5, 2024
    54973c9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions