devnexen
Repos
276
Followers
98
Following
83

The PHP Interpreter

C
35219
7163

The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!

C
1
0

Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...

1
0

The Yamagi Quake II client

C
1
0

memcached development tree

C
1
0

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, HyperLogLogs, Bitmaps.

C
1
0

Events

freebsd add MAP_ALIGNED macro

Created at 11 hours ago

freebsd add MAP_ALIGNED macro

Created at 12 hours ago

freebsd add MAP_ALIGNED macro

Created at 12 hours ago

ext/posix: posix_eaccess little update and forgotten UPGRADING entry. (#10965)

Created at 12 hours ago
pull request closed
ext/posix: posix_eaccess little update and forgotten UPGRADING entry.
Created at 12 hours ago
pull request opened
ext/sockets: add macOs's SO_NOSIGPIPE setsockopt flag.

goal is preventing SIGPIPE being generated when the peer is no longer alive similar to send with MSG_NOSIGNAL on some platforms.

Created at 14 hours ago
create branch
devnexen create branch socket_nosigpipe
Created at 14 hours ago

PHP-8.2 is now for PHP 8.2.6-dev

Merge branch 'PHP-8.2'

  • PHP-8.2: PHP-8.2 is now for PHP 8.2.6-dev

Updated to version 2023.3 (2023c)

Empty merge

Updated to version 2023.3 (2023c)

Empty merge

Updated to version 2023.3 (2023c)

Created at 14 hours ago

Drop unstable Option::contains, Result::contains, Result::contains_err

Remove #![feature(option_result_contains)] from library/core/tests/lib.rs

Remove the NodeId of ast::ExprKind::Async

stop special-casing 'static in evaluate

Subst gat normalize pred correctly

Clean up substs building

bump askama_derive to 0.12.1

Fix ICE for intra-doc link on intermediate re-export

Add regression test for #109282

Use Cow to reduce numbers of memory clone

Remove span method from AttributesExt trait

use llvm 16.0.0 instead of 16.0.0-rc4

Update ar_archive_writer to 0.1.3

This updates object to 0.30 and fixes a bug where the symbol table would be omitted for archives where there are object files yet none that export any symbol. This bug could lead to linker errors for crates like rustc_std_workspace_core which don't contain any code of their own but exist solely for their dependencies. This is likely the cause of the linker issues I was experiencing on Webassembly. It has been shown to cause issues on other platforms too.

cc rust-lang/ar_archive_writer#5

Rename 'src/bootstrap/native.rs' to llvm.rs

Renamed 'native.rs' to 'llvm.rs', also moved TestHelpers to test.rs.Replaced all the native.rs ocurrences at src/bootstrap files to llvm.rs

Use Rayon's TLV directly

Allow long link names in tar files

Without this, users trying to run x.py dist under a sufficiently long path run into problems when we build the resulting tarballs due to length limits in the original tar spec. The error looks like:

    Finished release [optimized + debuginfo] target(s) in 0.34s
Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-musl)
Building stage0 tool rust-installer (x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 0.35s
Dist rust-std-1.67.1-x86_64-unknown-linux-musl
Error: failed to generate installer

Caused by:
    0: failed to tar file '/home/AAAAAAAAAAAAAA/BBBBBB/CCCC/DDD/EEEEE/FFFFFFFFFFFF/GGGGGGGGGGGGGGGG/HHHHHHHHHH/IIIIIIIIIIIIIII/JJJJJ/KKKKKKK/src/build/tmp/tarball/rust-std/x86_64-unknown-linux-musl/rust-std-1.67.1-x86_64-unknown-linux-musl/rust-std-x86_64-unknown-linux-musl/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a'
    1: provided value is too long when setting link name for
Build completed unsuccessfully in 0:00:03

The fix is to make use of the widely-supported GNU tar extensions which lift this restriction. Switching to tar::Builder::append_link takes care of that for us. See also alexcrichton/tar-rs#273.

Update indexmap and rayon crates

Remove some stale FIXMEs in new solver

Refactor: Separate LocalRef variant for not-evaluated-yet operands

remove obsolete givens from regionck

Created at 15 hours ago

coff: resolve relocs on bytes buffer directly

coff: use ArrayHashMap if we are iterating over keys

coff: put section growing in helper; only mark section if actually resolved

macho: remove error_union return from resolveRelocations()

Merge pull request #15105 from ziglang/hcs-win-poc

coff: improve handling of relocs and general linker fixes

Created at 22 hours ago
issue comment
Fix some translation errors in random_int documentation (French)

Thanks for the suggestions 🙂 cc @adoy.

Created at 23 hours ago

coff: change dynamicbase to default to true (to match lld), change it to pass the negation to lld, and add --no-dynamicbase build: expose linker_dynamicbase on CompileStep and map it to emit --no-dynamicbase

compilation: fixup linker_dynamicbase default in InitOptions

build: fixes from review

main: recognize --dynamicbase

coff: grow .idata if required

link: pass expected lib name as hint in getGlobalSymbol()

coff: repurpose value field of import Symbol for lib_name offset

coff: do not use atoms for synthetic import address table

Instead, introduce a custom ImportTable structure which will act as a thunk in the MachO linker, and we will use that to calculate the address of a pointer on-the-fly.

Additionally, fix logic in writeImportTables to allow for multiple DLLs.

bpf: add missing *const for helper functions

Signed-off-by: Tw tw19881113@gmail.com

coff: move import table definition into a separate ImportTable.zig module

coff: assert the imports table is not dirty

tests: enable multi-threaded x86_64-windows tests with self-hosted

Merge pull request #15102 from ziglang/fix-15075

coff: handle multiple DLLs

Merge pull request #14771 from kcbanner/coff_dynamicbase

Allow dynamicbase to be disabled by CompileStep

Sema: fix empty slice pointer value

We just checked that inst_child_ty was effectively a zero-bit type, so it is certainly not the non-zero alignment we are looking for.

Closes #15085

Created at 1 day ago
pull request opened
ext/posix: posix_eaccess little update and forgotten UPGRADING entry.
Created at 1 day ago
create branch
devnexen create branch posix_eaccess_upd
Created at 1 day ago

ext/intl: breakiterator::setText returns false on failure.

Close GH-10820

Note where a session was already started (#10736)

  • Note where a session was already started

Duplicated session starts can be annoying to debug. The error that occurs when a session is already active doesn't tell you where it was initialized, so figuring out the callsite involves manual debugging to find it out.

This keeps track of the call site of session_start as a request global, and frees at the end of the request. It should make it easier to find these instances for PHP users.

The resulting message can look like: Notice: session_start(): Ignoring session_start() because a session is already active (started from /home/calvin/src/php-src/inc.php on line 4) in /home/calvin/src/php-src/index.php on line 9

Fixes GH-10721

  • Convert to using zend_string for session start location

  • Fix leak with session start callsite filename

If this was already initialized, we'd forget it. Have shared free between session_start and RSHUTDOWN.

  • For sessions that are automatically started, note that

Easy to forget that you have this set, in which case, session start is done at RINIT outside of user code. Because this config option can't change at runtime, we can check for it and make the error more specific if that's the case.

ext/imap/config.m4: -Werror=implicit-function-declaration compatibility.

The recent clang-16 throws errors for implicitly defined functions by default. In many ./configure tests, an undefined function (which is "implicitly defined" when you try to call it) is undefined because it really does not exist. But in one case, utf8_to_mutf7() is undefined because we forgot to include the header that defines it.

This commit updates the test for utf8_to_mutf7:

  • We now include the header (c-client.h) that defines it.
  • A "checking... yes/no" message was added to the test.
  • The test was switched from PHP_IMAP_TEST_BUILD to AC_COMPILE_IFELSE. This was the easiest way to avoid a return-type mismatch that runs afoul of -Werror=implicit-int.
  • CPPFLAGS is temporarily amended with the -I flag needed to find c-client.h.

Fixes GH-10947.

Closes GH-10948

Signed-off-by: George Peter Banyard girgias@php.net

Merge branch 'PHP-8.1' into PHP-8.2

  • PHP-8.1: ext/imap/config.m4: -Werror=implicit-function-declaration compatibility.

Merge branch 'PHP-8.2'

  • PHP-8.2: ext/imap/config.m4: -Werror=implicit-function-declaration compatibility.

ext/intl IntlChar::enumCharNames changes the signature to void.

Close GH-10904

Fix undefined behaviour in unpack()

atoi()'s return value is actually undefined when an underflow or overflow occurs. For example on 32-bit on my system the overflow test which inputs "h2147483648" results in repetitions==2147483647 and on 64-bit this gives repetitions==-2147483648. The reason the test works on 32-bit is because there's a second undefined behaviour problem: in case 'h' when repetitions==2147483647, we add 1 and divide by 2. This is signed-wrap undefined behaviour and accidentally triggers the overflow check like we wanted to.

Avoid all this trouble and use strtol with explicit error checking.

This also fixes a semantic bug where repetitions==INT_MAX would result in the overflow check to trigger, even though there is no overflow.

Closes GH-10943.

Merge branch 'PHP-8.1' into PHP-8.2

  • PHP-8.1: Fix undefined behaviour in unpack()

Merge branch 'PHP-8.2'

  • PHP-8.2: Fix undefined behaviour in unpack()
Created at 1 day ago

console fix comparing signed/unsigned types.

Fix if no pending weapon when giving ammo

Merge pull request #791 from devnexen/console_type_fix

console fix comparing signed/unsigned types.

Minor tweaks

Minor tweaks

Created at 1 day ago
pull request closed
ext/intl IntlChar::enumCharNames changes the signature to void.
Created at 1 day ago

ext/intl IntlChar::enumCharNames changes the signature to void.

Close GH-10904

Created at 1 day ago
issue comment
ext/sqlite3: SQLite3::close, SQLite3Stmt::close and SQLite3Result::fi…

Those are fair points indeed.

Created at 1 day ago
pull request opened
redox reallocarray addition
Created at 1 day ago
create branch
devnexen create branch redox_reallocarray
Created at 1 day ago

redox add explicit_bzero

add memmem GNU extension for haiku

redox add strlcpy api

FreeBSD: Ignore test for remove const

Signed-off-by: Yuki Okushi jtitor@2k36.org

Auto merge of #3172 - JohnTitor:pin-freebsd-14, r=JohnTitor

FreeBSD: Ignore test for remove const

This brings us some problems, let's pin it.

Auto merge of #3168 - devnexen:redox_strclpy_api, r=JohnTitor

redox add strlcpy api

Auto merge of #3164 - devnexen:redox_explicit_bzero, r=JohnTitor

redox add explicit_bzero

Auto merge of #3165 - devnexen:haiku_memmem, r=JohnTitor

add memmem GNU extension for haiku

Created at 1 day ago
create branch
devnexen create branch fbsd_update_2
Created at 1 day ago
pull request closed
ext/intl: breakiterator::setText returns false on failure.
Created at 1 day ago

ext/intl: breakiterator::setText returns false on failure.

Close GH-10820

Created at 1 day ago

[skip ci] Fix CODEOWNERS sorting

The alphabet is hard :stuck_out_tongue_winking_eye:

[skip ci] Add myself in CODEOWNERS for curl

[Zend]: Remove unused code in MAKE_NOP macro (#10906)

Prefer to see clean code.

In MAKE_NOP macro, op.num is first set to 0, but immediately set to -1 by SET_UNUSED macro, which invalidates previous set-to-zero code.

So clean the code to make it look nice and neat.

Signed-off-by: Tony Su tao.su@intel.com

Shrink some commonly used structs by reordering members (#10880)

Struct members require some alignment based on their type. This means that if a struct member is not aligned, there will be a hole created by the compiler in the struct, which is wasted space. This patch reorders some of the most commonly used structs, but in such a way that the fields which were in the same cache line still belong together. The only exception to this is exception_ignore_args, which was temporally not close to nearby members, and as such I placed it further up to close a hole.

On 64-bit Linux this gives us the following shrinks:

  • zend_op_array: 248 -> 240
  • zend_ssa_var: 56 -> 48
  • zend_ssa_var_info: 48 -> 40
  • php_core_globals: 672 -> 608
  • zend_executor_globals: 1824 -> 1792

On 32-bit, the sizes will either remain the same or will result in smaller shrinks.

Implement better diff for run-tests.php

Borrow sebastianbergmann/diff with MemoryEfficientLongestCommonSubsequenceCalculator

Fixes GH-10806 Closes GH-10875

ext/curl: suppress -Wdeprecated-declarations in curl_arginfo.h

Disable the warning before including curl_arginfo.h.

(Follow-up for https://github.com/php/php-src/pull/10531)

Merge branch 'PHP-8.1' into PHP-8.2

  • PHP-8.1: ext/curl: suppress -Wdeprecated-declarations in curl_arginfo.h

Merge branch 'PHP-8.2'

  • PHP-8.2: ext/curl: suppress -Wdeprecated-declarations in curl_arginfo.h

Empty merge

Updated to version 2023.1 (2023a)

Empty merge

Updated to version 2023.1 (2023a)

Updated to version 2023.1 (2023a)

[skip ci] Fix var_dump statement in run-tests.php

Fix GH-10583: DateTime modify with tz pattern should not update linked timezone

ext/pdo_sqlite: simplifying sqlite3_exec usage. (#10910)

pdo_sqlite_error copy the error message via the php's allocator, while the one from sqlite3_exec is unused.

Merge remote-tracking branch 'derickr/issue10583' into PHP-8.1

Merge branch 'PHP-8.1' into PHP-8.2

Merge branch 'PHP-8.2'

Fix direct comparison in run-tests.php differ

Created at 1 day ago

Fix buffer-overflow in open_basedir()

Propagate UTF-8 flag during Rope operations (#10915)

Use php_random_bytes_silent() where possible in gmp_init_random() (#10944)

See GH-10942.

Fix undefined behaviour when writing 32-bit values in phar/tar.c

As shown on the CI runs on my fork (which runs with UBSAN), the pointers can sometimes be unaligned when trying to write. This is UB and on platforms like ARM this can result in a bus error. Replace it with memcpy, which at least on x86 and powerpc architectures does result in the same assembly code.

Closes GH-10940.

Fix undefined behaviour in GENERATE_SEED()

Signed multiply overflow is undefined behaviour. If you run the CI tests with UBSAN enabled on a 32-bit platform, this is quite easy to hit. On 64-bit it's more difficult to hit though, but not impossible.

Closes GH-10942.

Merge branch 'PHP-8.1' into PHP-8.2

  • PHP-8.1: Fix undefined behaviour in GENERATE_SEED() Fix undefined behaviour when writing 32-bit values in phar/tar.c

Merge branch 'PHP-8.2'

  • PHP-8.2: Fix undefined behaviour in GENERATE_SEED() Fix undefined behaviour when writing 32-bit values in phar/tar.c

Improve the warning message for unpack() in case not enough values were provided (#10949)

php-fuzz-mbstring also tests text encoding validation functions

In 6fc8d014df, pakutoma added specialized validation functions for ISO-2022-JP, JIS, UTF-7, and UTF7-IMAP text. In the future, it is possible we might add such functions for more legacy text encodings. Allowing them to be tested by php-fuzz-mbstring may help to catch bugs, both now and in the future.

For UTF-7, emit error marker if Base64 section ends abruptly after first half of surrogate pair

This (rare) situation was already handled correctly for the 1st and 2nd of every 3 codepoints in a Base64-encoded section of a UTF-7 string. However, it was not handled correctly if it happened on the 3rd, 6th, 9th, etc. codepoint of such a Base64-encoded section.

Rename --with-opcache-capstone to --with-capstone (#10952)

Unparallelize IO heavy tests

Alternative to GH-10892. This is somewhat unfortunate since these are also the slow tests. I'm also not sure if this actually helps.

Closes GH-10953

Merge branch 'PHP-8.1' into PHP-8.2

  • PHP-8.1: Unparallelize IO heavy tests

Merge branch 'PHP-8.2'

  • PHP-8.2: Unparallelize IO heavy tests

Suppress snmp lib memory leak, xfail ASAN tests

I don't know enough about this library to fix those :(

Fix incorrect optimization

Fixes oss-fuzz #57482

Merge branch 'PHP-8.2'

  • PHP-8.2: Fix incorrect optimization

Fix one more differ direct comparison (through in_array)

Fix GH-10908: Bus error with PDO Firebird on RPI with 64 bit kernel and 32 bit userland

The alignment of sqldata is in most cases only the basic alignment, so the code type-puns it to a larger type, it can crash due to the misaligned access. This is only an issue for types > 4 bytes because every sensible system requires an alignment of at least 4 bytes for allocated data.

Even though this patch uses memcpy, the compiler is smart enough to optimise it to something more efficient, especially on x86. This is just the usual approach to solve these alignment problems.

Actually, unaligned memory access is undefined behaviour, so even on x86 platforms, where the bug doesn't cause a crash, this can be problematic. Furthermore, even though the issue talks about a 64-bit kernel and 32-bit userspace, this doesn't necessarily need to be the case to trigger this crash.

Test was Co-authored-by: rvk01

Closes GH-10920.

Handle indirect zvals in SplFixedArray::__serialize

Closes GH-10925.

Created at 1 day ago

std: add a subset of the apple's QOS api

Created at 2 days ago