integer overflow in gd.c
Open
@devnexen is already working on this.
Since Dec 6, 2025.
Bug
Extension: gd
Status: Verified
- Dominant language
- C
- Stars
- 40.4k
- Forks
- 8.1k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 96
Description
Description
The following code:
<?php
$v_10678 = 8;
$v_10679 = 8;
$v_10680 = imagecreatetruecolor($v_10678,$v_10679,);
$v_10681 = 255;
$v_10682 = 0;
$v_10691 = 64;
$v_10692 = 64;
$v_10693 = imagecreatetruecolor($v_10691,$v_10692,);
$v_10709 = 31;
$v_10406 = '1234567890';
$v_10711 = 50;
$v_10704 = 0;
$v_10705 = 0;
$v_10706 = 0;
$v_10707 = imagecolorallocate($v_10693,$v_10704,$v_10705,$v_10706,);
$v_10712 = imageellipse($v_10693,$v_10681,$v_10709,$v_10406,$v_10711,$v_10707,);
Resulted in this output:
/home/w023dtc/nightly_php/php-src/ext/gd/libgd/gd.c:1802:7: runtime error: signed integer overflow: 9144947250114312600 + 762078937509526050 cannot be represented in type 'long'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/w023dtc/nightly_php/php-src/ext/gd/libgd/gd.c:1802:7
PHP Version
nightly
Operating System
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.