]> granicus.if.org Git - php/log
php
6 years agoFFI: Use signed arithmetic for pointer offset
Nikita Popov [Thu, 20 Jun 2019 12:52:12 +0000 (14:52 +0200)]
FFI: Use signed arithmetic for pointer offset

offset can be negative here, using signed arithmetic avoids ubsan
warnings.

6 years agoIn php_needle_char() use well-defined double->integer cast
Nikita Popov [Thu, 20 Jun 2019 12:09:18 +0000 (14:09 +0200)]
In php_needle_char() use well-defined double->integer cast

...by going through zval_get_long(). Generally out of range double
casts are undefined.

6 years agoAvoid address calculation overflow
Nikita Popov [Thu, 20 Jun 2019 11:06:56 +0000 (13:06 +0200)]
Avoid address calculation overflow

6 years agoBail out earlier in zend_memnrstr
Nikita Popov [Thu, 20 Jun 2019 10:18:54 +0000 (12:18 +0200)]
Bail out earlier in zend_memnrstr

To avoid decrementing a null pointer lateron. As we need to check
for NULL here anayway, we should take the chance to bail out right
away.

6 years agoDisable float division by zero sanitizer for div_function
Nikita Popov [Thu, 20 Jun 2019 10:11:30 +0000 (12:11 +0200)]
Disable float division by zero sanitizer for div_function

We intentionally divide by zero here and want to get IEEE-754
semantics.

6 years agoChange indexing scheme for symtable_cache
Nikita Popov [Thu, 20 Jun 2019 08:52:18 +0000 (10:52 +0200)]
Change indexing scheme for symtable_cache

symtable_cache_ptr now points to the first unused symtable_cache
entry, rahter than the last used one. This avoids taking a pointer
to the minus first element of the array, which is UB. Instead we
take a pointer to the end plus one, which is not UB.

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Thu, 20 Jun 2019 09:59:04 +0000 (11:59 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  fix test for Windows and for parallel run

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Thu, 20 Jun 2019 09:58:49 +0000 (11:58 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  fix test for Windows and for parallel run

6 years agofix test for Windows and for parallel run
Remi Collet [Thu, 20 Jun 2019 09:58:32 +0000 (11:58 +0200)]
fix test for Windows and for parallel run

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Thu, 20 Jun 2019 09:52:25 +0000 (11:52 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  improve test clean section
  move NEWS entry

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Thu, 20 Jun 2019 09:51:51 +0000 (11:51 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  improve test clean section

6 years agoimprove test clean section
Remi Collet [Thu, 20 Jun 2019 09:51:18 +0000 (11:51 +0200)]
improve test clean section

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Thu, 20 Jun 2019 08:41:21 +0000 (10:41 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  move NEWS entry

6 years agomove NEWS entry
Remi Collet [Thu, 20 Jun 2019 08:40:52 +0000 (10:40 +0200)]
move NEWS entry

6 years agoFix maybe uninit warning
Nikita Popov [Thu, 20 Jun 2019 08:35:22 +0000 (10:35 +0200)]
Fix maybe uninit warning

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Thu, 20 Jun 2019 08:28:26 +0000 (10:28 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  add test for #78185

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Thu, 20 Jun 2019 08:28:00 +0000 (10:28 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  add test for #78185

6 years agoadd test for #78185
Remi Collet [Thu, 20 Jun 2019 08:27:33 +0000 (10:27 +0200)]
add test for #78185

6 years agoimagecolorallocate(): Check that RGB components are in-range
Nikita Popov [Thu, 20 Jun 2019 08:09:54 +0000 (10:09 +0200)]
imagecolorallocate(): Check that RGB components are in-range

Instead of letting them bleed over into other components.

6 years agoAvoid overflow in mul range calculation
Nikita Popov [Thu, 20 Jun 2019 07:57:55 +0000 (09:57 +0200)]
Avoid overflow in mul range calculation

By using ZEND_SIGNED_MULTIPLY_LONG, which already implemented
efficient overflow checking logic.

6 years agoBackport "Avoid UB in overflow checks"
Nikita Popov [Wed, 19 Jun 2019 09:58:42 +0000 (11:58 +0200)]
Backport "Avoid UB in overflow checks"

Cherry-pick of bb940d9969e08853d92a09f7a02adc3228cf1c2c without
the JIT parts.

6 years agoAvoid memset/memcpy null ub in block pass
Nikita Popov [Thu, 20 Jun 2019 07:49:07 +0000 (09:49 +0200)]
Avoid memset/memcpy null ub in block pass

The arena allocator has no problem with zero-size allocations (and
will just return the same pointer for each in this case), so just
do that to avoid null pointers.

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Dmitry Stogov [Thu, 20 Jun 2019 06:07:39 +0000 (09:07 +0300)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #78185 (File cache no longer works)

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Dmitry Stogov [Thu, 20 Jun 2019 06:05:50 +0000 (09:05 +0300)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fixed bug #78185 (File cache no longer works)

6 years agoFixed bug #78185 (File cache no longer works)
Dmitry Stogov [Thu, 20 Jun 2019 06:04:14 +0000 (09:04 +0300)]
Fixed bug #78185 (File cache no longer works)

6 years agoAvoid signed shift ub in php_sdl
Nikita Popov [Wed, 19 Jun 2019 15:25:20 +0000 (17:25 +0200)]
Avoid signed shift ub in php_sdl

6 years agoFix various instances of memcpy null ub
Nikita Popov [Wed, 19 Jun 2019 14:53:42 +0000 (16:53 +0200)]
Fix various instances of memcpy null ub

6 years agoRemove copy argument from php_glob_stream_get_path/pattern
Nikita Popov [Wed, 19 Jun 2019 15:02:54 +0000 (17:02 +0200)]
Remove copy argument from php_glob_stream_get_path/pattern

This is unused, and shouldn't be part of the API.

6 years agoSuppress shift UB in gd_itofx()
Nikita Popov [Wed, 19 Jun 2019 14:42:17 +0000 (16:42 +0200)]
Suppress shift UB in gd_itofx()

There doesn't seem to be a corresponding upstream fix for this.

6 years agoMerge branch 'PHP-7.4' of https://git.php.net/push/php-src into PHP-7.4
Andrey Hristov [Wed, 19 Jun 2019 15:17:35 +0000 (18:17 +0300)]
Merge branch 'PHP-7.4' of https://git.php.net/push/php-src into PHP-7.4

6 years agoFixed bug #78182
Nikita Popov [Wed, 19 Jun 2019 14:35:12 +0000 (16:35 +0200)]
Fixed bug #78182

6 years agoSuppress overflow UB in zend_strtod
Nikita Popov [Wed, 19 Jun 2019 13:57:57 +0000 (15:57 +0200)]
Suppress overflow UB in zend_strtod

6 years agoFix shift UB in hash_snefru
Nikita Popov [Wed, 19 Jun 2019 13:55:56 +0000 (15:55 +0200)]
Fix shift UB in hash_snefru

6 years agoimageloadfont: Perform overflow check before calculation
Nikita Popov [Wed, 19 Jun 2019 13:50:52 +0000 (15:50 +0200)]
imageloadfont: Perform overflow check before calculation

Instead of afterwards...

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Andrey Hristov [Wed, 19 Jun 2019 13:43:15 +0000 (16:43 +0300)]
Merge branch 'PHP-7.3' into PHP-7.4

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Andrey Hristov [Wed, 19 Jun 2019 13:43:06 +0000 (16:43 +0300)]
Merge branch 'PHP-7.2' into PHP-7.3

6 years agoFix version comparison
Andrey Hristov [Wed, 19 Jun 2019 13:42:43 +0000 (16:42 +0300)]
Fix version comparison

6 years agoFix buffer underflow in gd_gif_in.c
Nikita Popov [Wed, 19 Jun 2019 13:41:45 +0000 (15:41 +0200)]
Fix buffer underflow in gd_gif_in.c

This has been fixed upstream in
https://github.com/libgd/libgd/commit/939d49a3a9d1cbcd2a37cea9eac9f9e5e9f9de78.

6 years agoFix uninitialized variable
Nikita Popov [Wed, 19 Jun 2019 13:34:51 +0000 (15:34 +0200)]
Fix uninitialized variable

I mistakenly moved len1 initialization into the conditional as well.

6 years agoFix shift UB in gd_io.c
Nikita Popov [Wed, 19 Jun 2019 13:06:48 +0000 (15:06 +0200)]
Fix shift UB in gd_io.c

This has already been fixed upstream in
https://github.com/libgd/libgd/commit/24d352576c024769d18113a28f3be03d54fa1e66
and
https://github.com/libgd/libgd/commit/772d0107a6b00a0d6d7191383fe984f8c018b48c.

6 years agoFix shift UB in php_ifd_get32s
Nikita Popov [Wed, 19 Jun 2019 13:03:22 +0000 (15:03 +0200)]
Fix shift UB in php_ifd_get32s

6 years agoPhar: Avoid negative zip dates
Nikita Popov [Wed, 19 Jun 2019 12:56:11 +0000 (14:56 +0200)]
Phar: Avoid negative zip dates

The zip date/time encoding format is incredibly stupid.

6 years agoFix memcpy null UB in phar
Nikita Popov [Wed, 19 Jun 2019 12:38:29 +0000 (14:38 +0200)]
Fix memcpy null UB in phar

6 years agoFix shift UB in mbfilter_utf32.c
Nikita Popov [Wed, 19 Jun 2019 12:35:44 +0000 (14:35 +0200)]
Fix shift UB in mbfilter_utf32.c

6 years agoFix shift UB in sint4korr()
Nikita Popov [Wed, 19 Jun 2019 12:27:13 +0000 (14:27 +0200)]
Fix shift UB in sint4korr()

6 years agoFix incorrect shift in mysqlnd_wireprotocol
Nikita Popov [Wed, 19 Jun 2019 12:22:05 +0000 (14:22 +0200)]
Fix incorrect shift in mysqlnd_wireprotocol

This one looks like a genuine bug: We're shifting a uint16_t by
16 bits. On x86 that likely results in no shift happening.

6 years agoFix overflow UB in range()
Nikita Popov [Wed, 19 Jun 2019 12:12:54 +0000 (14:12 +0200)]
Fix overflow UB in range()

6 years agoAvoid memcpy UB in streams
Nikita Popov [Wed, 19 Jun 2019 12:04:54 +0000 (14:04 +0200)]
Avoid memcpy UB in streams

6 years agoAvoid more UB in round()
Nikita Popov [Wed, 19 Jun 2019 12:03:34 +0000 (14:03 +0200)]
Avoid more UB in round()

6 years agoUse unsigned char in _crypt_extended_r
Nikita Popov [Wed, 19 Jun 2019 11:48:20 +0000 (13:48 +0200)]
Use unsigned char in _crypt_extended_r

Avoid signed shift UB.

6 years agoUse unsigned chars in php_uuencode()
Nikita Popov [Wed, 19 Jun 2019 11:23:02 +0000 (13:23 +0200)]
Use unsigned chars in php_uuencode()

Avoid shift UB on signed integers.

6 years agoFix _php_math_round UB
Nikita Popov [Wed, 19 Jun 2019 11:18:23 +0000 (13:18 +0200)]
Fix _php_math_round UB

php_intlog10abs() is ill-defined for a zero value. Avoid calling it
altogether as there's nothing to round with a zero value.

6 years agoFix memcpy null arg UB
Nikita Popov [Wed, 19 Jun 2019 11:11:07 +0000 (13:11 +0200)]
Fix memcpy null arg UB

6 years agoFix signed shift UB
Nikita Popov [Wed, 19 Jun 2019 10:59:18 +0000 (12:59 +0200)]
Fix signed shift UB

6 years agoAvoid overflow UB in is_numeric_string
Nikita Popov [Wed, 19 Jun 2019 10:53:10 +0000 (12:53 +0200)]
Avoid overflow UB in is_numeric_string

We intentionally overflow the signed space here, so make this an
unsigned variable and only cast to signed at the end.

6 years agoFix shift UB in constants
Nikita Popov [Wed, 19 Jun 2019 10:47:56 +0000 (12:47 +0200)]
Fix shift UB in constants

We were shifting out the top bit of a signed integer.

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Wed, 19 Jun 2019 10:43:17 +0000 (12:43 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  fix setcookie Max-Age to use php_time

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Wed, 19 Jun 2019 10:42:25 +0000 (12:42 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  fix setcookie Max-Age to use php_time

6 years agofix setcookie Max-Age to use php_time
Joe Watkins [Wed, 19 Jun 2019 10:42:00 +0000 (12:42 +0200)]
fix setcookie Max-Age to use php_time

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Wed, 19 Jun 2019 10:40:54 +0000 (12:40 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  export php_time

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Wed, 19 Jun 2019 10:40:23 +0000 (12:40 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  export php_time

6 years agoexport php_time
Joe Watkins [Wed, 19 Jun 2019 10:39:51 +0000 (12:39 +0200)]
export php_time

6 years agorefactor a little more to add some more useful error messages and raise the limits...
Joe Watkins [Wed, 19 Jun 2019 09:41:24 +0000 (11:41 +0200)]
refactor a little more to add some more useful error messages and raise the limits on waiting for slow machines

6 years agoSeparate check for process creation and ability to accept connections
Joe Watkins [Wed, 19 Jun 2019 09:09:26 +0000 (11:09 +0200)]
Separate check for process creation and ability to accept connections

6 years agoDocument removal of uint and ulong typedefs
Christoph M. Becker [Wed, 19 Jun 2019 07:45:15 +0000 (09:45 +0200)]
Document removal of uint and ulong typedefs

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Wed, 19 Jun 2019 07:00:00 +0000 (09:00 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Resolve discrepencies between second value yielded by gettimeofday and time, fixes #69044

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Wed, 19 Jun 2019 06:58:28 +0000 (08:58 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Resolve discrepencies between second value yielded by gettimeofday and time, fixes #69044

6 years agoResolve discrepencies between second value yielded by gettimeofday and time, fixes...
Joe Watkins [Tue, 18 Jun 2019 09:06:00 +0000 (11:06 +0200)]
Resolve discrepencies between second value yielded by gettimeofday and time, fixes #69044

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 18 Jun 2019 15:09:49 +0000 (17:09 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78173: XML-RPC mutates immutable objects during encoding

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Tue, 18 Jun 2019 15:08:58 +0000 (17:08 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #78173: XML-RPC mutates immutable objects during encoding

6 years agoFix #78173: XML-RPC mutates immutable objects during encoding
Asher Baker [Tue, 18 Jun 2019 14:05:38 +0000 (15:05 +0100)]
Fix #78173: XML-RPC mutates immutable objects during encoding

With opcache.protect_memory=1 enabled, the XML-RPC extension causes a
segfault on PHP 7.2 as it is modifying the recursion counter of objects
it touches, without first checking if they are immutable or not.

This doesn't affect 7.3+

6 years agoFixed bug #78175 (Preloading segfaults at preload time and at runtime)
Dmitry Stogov [Tue, 18 Jun 2019 14:18:49 +0000 (17:18 +0300)]
Fixed bug #78175 (Preloading segfaults at preload time and at runtime)

6 years agoTurn system_id into a true global
Christoph M. Becker [Mon, 17 Jun 2019 16:43:05 +0000 (18:43 +0200)]
Turn system_id into a true global

The system_id is identical for all threads and can be computed during
module startup, so there is no need to calculate and store it for each
thread.

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 18 Jun 2019 07:34:24 +0000 (09:34 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Update NEWS

6 years agoUpdate NEWS
Christoph M. Becker [Tue, 18 Jun 2019 07:33:35 +0000 (09:33 +0200)]
Update NEWS

6 years agofix flaky socket test
Joe Watkins [Tue, 18 Jun 2019 06:28:57 +0000 (08:28 +0200)]
fix flaky socket test

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Tue, 18 Jun 2019 05:51:17 +0000 (07:51 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  move NEWS entry

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Tue, 18 Jun 2019 05:51:05 +0000 (07:51 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  move NEWS entry

6 years agomove NEWS entry
Remi Collet [Tue, 18 Jun 2019 05:50:44 +0000 (07:50 +0200)]
move NEWS entry

6 years agoImplement SQLite3 backup API
BohwaZ [Mon, 17 Jun 2019 21:28:30 +0000 (23:28 +0200)]
Implement SQLite3 backup API

6 years agoFix file clash in fgetcsv test
Nikita Popov [Mon, 17 Jun 2019 15:25:43 +0000 (17:25 +0200)]
Fix file clash in fgetcsv test

6 years agoImprove create_verify_dir() diagnostics
Christoph M. Becker [Mon, 17 Jun 2019 14:44:49 +0000 (16:44 +0200)]
Improve create_verify_dir() diagnostics

If create_verify_dir() fails[1], we need more info why that happened.

[1] <https://ci.appveyor.com/project/cmb69/php-src/builds/25324138/job/dm1n12gqhdqa3ln5#L5753>

6 years agoFix file conflicts in SplFileObject fputcsv tests
Nikita Popov [Mon, 17 Jun 2019 13:08:52 +0000 (15:08 +0200)]
Fix file conflicts in SplFileObject fputcsv tests

6 years agoRemove XFAIL mark
Dmitry Stogov [Mon, 17 Jun 2019 11:56:28 +0000 (14:56 +0300)]
Remove XFAIL mark

6 years agoAvoid uninitilized field access
Dmitry Stogov [Mon, 17 Jun 2019 11:53:44 +0000 (14:53 +0300)]
Avoid uninitilized field access

6 years agoFixed memory leaks in ext/ffi/tests/100.phpt on Mac OSX
Dmitry Stogov [Mon, 17 Jun 2019 11:40:19 +0000 (14:40 +0300)]
Fixed memory leaks in ext/ffi/tests/100.phpt on Mac OSX

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 17 Jun 2019 11:31:04 +0000 (13:31 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

6 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 17 Jun 2019 11:30:56 +0000 (13:30 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

6 years agoAccept null for preg_quote delimiter argument
Nikita Popov [Mon, 17 Jun 2019 11:30:15 +0000 (13:30 +0200)]
Accept null for preg_quote delimiter argument

Related to bug #78163.

6 years agoSimplify pm.start_servers calculation in docs
Freddie Leeman [Tue, 11 Jun 2019 15:25:07 +0000 (17:25 +0200)]
Simplify pm.start_servers calculation in docs

This makes it more obvious that this is just the average.

6 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 17 Jun 2019 11:14:18 +0000 (13:14 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

6 years agoAdd syslog.filter=raw
Erik Lundin [Sat, 15 Jun 2019 07:31:16 +0000 (09:31 +0200)]
Add syslog.filter=raw

This passes through syslog message unchanged, without splitting
messages at newlines.

6 years agoAdd debug output to posix_getlogin() test
Nikita Popov [Mon, 17 Jun 2019 11:05:59 +0000 (13:05 +0200)]
Add debug output to posix_getlogin() test

6 years agoMake ext/curl/tests/bug48203_multi.phpt more robust
Nikita Popov [Mon, 17 Jun 2019 10:43:45 +0000 (12:43 +0200)]
Make ext/curl/tests/bug48203_multi.phpt more robust

We don't have a guarantee in which order the output here will
occur. And it's not really relevant for the test anyway, so use a
wildcard.

6 years agoRemove unnecessary short_open_tags use in tokenizer test
George Peter Banyard [Fri, 14 Jun 2019 17:52:27 +0000 (19:52 +0200)]
Remove unnecessary short_open_tags use in tokenizer test

6 years agoEnable intl on macos
Nikita Popov [Mon, 17 Jun 2019 09:28:31 +0000 (11:28 +0200)]
Enable intl on macos

6 years agobugs in fpm logging #4273 #4007
Joe Watkins [Sun, 16 Jun 2019 06:24:32 +0000 (08:24 +0200)]
bugs in fpm logging #4273 #4007

6 years agoUse uint64_t for time_sleep_until calculations
Nikita Popov [Sun, 16 Jun 2019 14:14:30 +0000 (16:14 +0200)]
Use uint64_t for time_sleep_until calculations

6 years agoPrevent parallel test conflict
Christoph M. Becker [Sun, 16 Jun 2019 09:48:48 +0000 (11:48 +0200)]
Prevent parallel test conflict

Cf. <https://travis-ci.org/php/php-src/jobs/546112543#L2865-L2866>.

6 years agothis mtime comparison makes assumptions that cannot always hold true
Joe Watkins [Sun, 16 Jun 2019 06:29:04 +0000 (08:29 +0200)]
this mtime comparison makes assumptions that cannot always hold true