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!
Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...
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.
freebsd add MAP_ALIGNED macro
freebsd add MAP_ALIGNED macro
freebsd add MAP_ALIGNED macro
ext/posix: posix_eaccess little update and forgotten UPGRADING entry. (#10965)
goal is preventing SIGPIPE being generated when the peer is no longer alive similar to send with MSG_NOSIGNAL on some platforms.
PHP-8.2 is now for PHP 8.2.6-dev
Merge branch 'PHP-8.2'
Updated to version 2023.3 (2023c)
Empty merge
Updated to version 2023.3 (2023c)
Empty merge
Updated to version 2023.3 (2023c)
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
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
Thanks for the suggestions 🙂 cc @adoy.
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
ext/intl: breakiterator::setText returns false on failure.
Close GH-10820
Note where a session was already started (#10736)
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.
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:
Fixes GH-10947.
Closes GH-10948
Signed-off-by: George Peter Banyard girgias@php.net
Merge branch 'PHP-8.1' into PHP-8.2
Merge branch 'PHP-8.2'
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
Merge branch 'PHP-8.2'
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
ext/intl IntlChar::enumCharNames changes the signature to void.
Close GH-10904
Those are fair points indeed.
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
ext/intl: breakiterator::setText returns false on failure.
Close GH-10820
[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:
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
Merge branch 'PHP-8.2'
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
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
Merge branch 'PHP-8.2'
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
Merge branch 'PHP-8.2'
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'
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.
std: add a subset of the apple's QOS api