Skip to content

Signed Integer Overflow in ext/date/lib/parse_posix.c #14075

Closed
@YuanchengJiang

Description

@YuanchengJiang

Description

The following code:

<?php
echo date(DATE_ATOM."\n".DATE_RFC2822."\nc\nr\no\ny\nY\nU\n\n", PHP_INT_MAX);
?>

Resulted in this output:

/php-src/ext/date/lib/parse_posix.c:493:22: runtime error: signed integer overflow: 86400 * 106751991167328 cannot be represented in type 'long long'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /php-src/ext/date/lib/parse_posix.c:493:22 

To reproduce:

php -d "date.timezone=Europe/Rome" ./test.php

PHP Version

PHP 8.4.0-dev

Operating System

ubuntu 22.04

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions