ndossche
62bbfdebaa
Fix memory leak in phpdbg calling registered function
...
Closes GH-17635.
2025-01-30 19:28:26 +01:00
ndossche
5447473785
Partially fix GH-17387
...
The length of the string should be set to the truncated length (that was
used to duplicate the input anyway).
2025-01-30 19:28:23 +01:00
Niels Dossche
1235c74828
Fix crashes in function registration + test
...
Internal function won't need their refcount increased as they outlive
the debugger session, and userland functions won't be unloaded either.
So no refcount management is necessary for registered functions.
2025-01-06 21:30:34 +01:00
Niels Dossche
3c3ec0e61a
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-15208: Segfault with breakpoint map and phpdbg_clear()
2024-11-26 22:27:06 +01:00
Niels Dossche
97b03186c4
Fix GH-15208: Segfault with breakpoint map and phpdbg_clear()
...
It crashes because it's gonna try accessing the breakpoint which was cleared
by user code in `phpdbg_clear();`. Not all breakpoint data was properly
cleaned.
Closes GH-16953.
2024-11-26 22:26:37 +01:00
Christoph M. Becker
5c6fc09e45
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-16174: Empty string is an invalid expression for phpdbg-ev
2024-10-10 01:46:30 +02:00
Christoph M. Becker
6bcba24eb0
Fix GH-16174: Empty string is an invalid expression for phpdbg-ev
...
Strings may be empty, so we must not assume they are not.
Closes GH-16177.
2024-10-10 01:45:37 +02:00
Christoph M. Becker
95c97c81b7
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-16181: phpdbg: exit in exception handler reports fatal error
2024-10-03 11:37:15 +02:00
Christoph M. Becker
f14e5cfaaa
Fix GH-16181: phpdbg: exit in exception handler reports fatal error
...
When running PHP code, we must not handle `UnwindExit` exceptions, but
rather have to ignore them.
Closes GH-16182.
2024-10-03 11:36:13 +02:00
Christoph M. Becker
c76913fde0
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-15901: phpdbg: Assertion failure on `i funcs`
2024-09-18 23:50:20 +02:00
Christoph M. Becker
422aa17b9b
Fix GH-15901: phpdbg: Assertion failure on i funcs
...
New hash tables are not automatically packed, so we must not treat them
as such. Therefore we guard the foreach appropriately.
Closes GH-15929.
2024-09-18 23:48:31 +02:00
Niels Dossche
04adeeaef8
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Add necessary SKIPIFs to new phpdbg tests
2024-08-10 01:11:09 +02:00
Niels Dossche
4d71580e00
Add necessary SKIPIFs to new phpdbg tests
...
Similarly to other watchpoint tests, we add SKIPIFs.
These TRACKED_ALLOC issues should be investigated though [1] [2].
[1] de5c760c69 (comments)
[2] https://github.com/php/php-src/pull/15229#pullrequestreview-2230563480
2024-08-10 01:10:01 +02:00
Niels Dossche
76dae3d0e3
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix uninitialized value watchpoint_hit
2024-08-09 23:46:30 +02:00
Niels Dossche
2e26559fcd
Fix uninitialized value watchpoint_hit
...
Closes GH-15317.
2024-08-09 23:46:16 +02:00
David Carlier
de5c760c69
Merge branch 'PHP-8.2' into PHP-8.3
2024-08-09 21:12:34 +01:00
David Carlier
9aeb6761b5
Fix GH-15210: phpdbg_print_changed_zvals working on a real copy instead.
...
Close GH-15229
2024-08-09 21:12:11 +01:00
Niels Dossche
47e4991d38
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-15268: heap buffer overflow in phpdbg (zend_hash_num_elements() Zend/zend_hash.h)
2024-08-08 20:35:50 +02:00
Niels Dossche
a6c547d1dd
Fix GH-15268: heap buffer overflow in phpdbg (zend_hash_num_elements() Zend/zend_hash.h)
...
The class is not yet linked, so we cannot access `parent`, but only
`parent_name`.
Closes GH-15277.
2024-08-08 20:35:20 +02:00
Peter Kokot
97049b44bd
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-13199: Redundant prompt in phpdbg with libedit/readline
2024-08-02 08:37:35 +02:00
Peter Kokot
dc670cb7f6
Fix GH-13199: Redundant prompt in phpdbg with libedit/readline
...
When using libedit/readline integration in phpdbg:
./configure --with-libedit --enable-phpdbg-readline
EOF makes editline write prompt again in local console mode. For
example, this can be noticed when reading phpt test files from STDIN and
running phpdbg:
./sapi/cli/php run-tests.php sapi/phpdbg
Closes GH-13199
2024-08-02 08:33:57 +02:00
Niels Dossche
751c267850
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-14553: Bug in phpdbg8.3 (also 8.1 and 8.2) echo output - trimmed at NULL byte (?)
2024-07-04 18:44:17 +02:00
Niels Dossche
95889979f2
Fix GH-14553: Bug in phpdbg8.3 (also 8.1 and 8.2) echo output - trimmed at NULL byte (?)
...
This broke in 6318040df2
when phpdbg
stopped using its custom printing routines. By relying on standard
printing routines, the embedded NUL bytes are causing the strings to be
cut off, even when using %.*s. Solve this by going straight to the
output routine, which is what the printf routine would've done anyway.
Closes GH-14822.
2024-07-04 18:43:42 +02:00
David Carlier
19ddb5f92d
Merge branch 'PHP-8.2' into PHP-8.3
2024-06-21 05:03:30 +01:00
David Carlier
6704c60589
Fix GH-14596: phpdbg with asan and ZC_RC_DEBUG set crashes.
...
close GH-14607
2024-06-21 05:02:53 +01:00
David Carlier
8690d522a3
Merge branch 'PHP-8.2' into PHP-8.3
2024-06-17 17:46:24 +01:00
David Carlier
03f0776d08
Fix GH-13681: segfault when adding watchpoint fails.
...
thus when removing its entry, no watch point is set and crash on
pointer access.
close GH-14513
2024-06-17 17:45:53 +01:00
Niels Dossche
550e0ceb79
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-13931: Applying zero offset to null pointer in Zend/zend_opcode.c
2024-04-15 19:39:59 +02:00
Niels Dossche
c3acfb1b57
Fix GH-13931: Applying zero offset to null pointer in Zend/zend_opcode.c
...
In the test cases, the compiler bails out due to a fatal error.
The data structures used by the compiler will contain stale values.
In particular, for the test case CG(loop_var_stack) will contain data.
The next compilation will incorrectly use elements from the previous
stack.
To solve this, we reset part of the compiler data structures.
We don't do a full re-initialization via init_compiler() because that will
also reset streams and resources.
Closes GH-13938.
2024-04-15 19:39:05 +02:00
Ilija Tovilo
017cf41647
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix opcache dump varying tmps
2024-04-05 14:12:08 +02:00
Ilija Tovilo
97162e92be
Fix opcache dump varying tmps
2024-04-05 14:11:41 +02:00
Niels Dossche
508ed9b474
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-13827: Null pointer access of type 'zval' in phpdbg_frame
2024-03-29 17:55:33 +01:00
Niels Dossche
d3f1f3ab40
Fix GH-13827: Null pointer access of type 'zval' in phpdbg_frame
...
We don't always have the line and filename in a backtrace frame, but
phpdbg assumes we do.
Closes GH-13831.
2024-03-29 17:54:23 +01:00
Niels Dossche
0887c5e908
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Use getenv to prevent undefined key warning
2024-01-15 20:15:17 +01:00
Niels Dossche
cd483f136c
Use getenv to prevent undefined key warning
2024-01-15 20:15:04 +01:00
Peter Kokot
04954f6b2c
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Set libtool tag per command instead of global one
2024-01-10 09:13:39 +01:00
Jan Palus
d57a7767a2
Set libtool tag per command instead of global one
...
Global --tag=CC defined in configure.ac is not correct in all cases. For example
linking objects that were compiled from C++ sources needs to be done with C++
compiler, however for link mode libtool will prefer compiler indicated with
--tag.
Fixes GH-12349
2024-01-10 09:09:45 +01:00
Peter Kokot
bafb17adcf
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Update year to 2024
2024-01-04 19:29:37 +01:00
Peter Kokot
2575e6b88c
Update year to 2024
2024-01-04 19:26:32 +01:00
Niels Dossche
4fc336c784
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix getting the address of an uninitialized property of a SimpleXMLElement resulting in a crash
Fix GH-12962: Double free of init_file in phpdbg_prompt.c
2023-12-17 11:50:42 +01:00
Niels Dossche
a6d17bffe1
Fix GH-12962: Double free of init_file in phpdbg_prompt.c
...
See GH-12962 for analysis.
Closes GH-12963.
2023-12-17 11:46:02 +01:00
Niels Dossche
c83632a503
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Use __DIR__-relative path in tests
Fix GH-12675: MEMORY_LEAK in phpdbg_prompt.c
2023-11-15 22:00:44 +01:00
Niels Dossche
4f1103ef3b
Fix GH-12675: MEMORY_LEAK in phpdbg_prompt.c
...
Have to use file_put_contents() instead of --FILE-- because we have to
actually load it using the exec command, *and* have to make multiple
files, and note that we can only load files relative from the current
directory, so we can't rely on files being in the sapi/phpdbg/tests
folder.
Closes GH-12680.
2023-11-15 21:59:55 +01:00
Peter Kokot
adc4a48d26
Fix configure phpdbg help output ( #12013 )
...
By default phpdbg is enabled (--enable-phpdbg) and user can get info in
the `./configure --help` output if they want to disable it like with the
other configuration options.
2023-08-22 02:52:06 +01:00
Ilija Tovilo
1a0ef2c1cc
Revert "Remove name field from the zend_constant struct ( #10954 )"
...
This reverts commit f42992f580
.
Closes GH-11604
2023-07-17 22:32:41 +02:00
Niels Dossche
e8b804dadc
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-9669: phpdbg -h options doesn't list the -z option
2023-07-07 19:19:53 +02:00
Niels Dossche
4a28cc725a
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-9669: phpdbg -h options doesn't list the -z option
2023-07-07 19:17:35 +02:00
Adam Saponara
119b062169
Fix GH-9669: phpdbg -h options doesn't list the -z option
...
Adds `-z` flag in phpdbg output.
Closes GH-9713.
2023-07-07 19:16:32 +02:00
Ilija Tovilo
ad1b70d67e
Revert "Revert "Remove name field from the zend_constant struct ( #10954 )""
...
This reverts commit 9f4bd3040d
.
2023-07-04 16:42:40 +02:00
Máté Kocsis
9f4bd3040d
Revert "Remove name field from the zend_constant struct ( #10954 )"
...
This reverts commit f42992f580
.
Fix GH-11423
2023-07-03 15:16:24 +02:00