552 Commits

Author SHA1 Message Date
5e70e1e084 fix: 3.14 magic is 3627 (0xE2B)
Some checks failed
Build / build (macos-latest) (push) Has been cancelled
Build / build (ubuntu-latest) (push) Has been cancelled
Build / windows-build (push) Has been cancelled
v2026.1.18
2026-01-18 19:14:32 +08:00
1c413c5124 ci: workflow_dispatch 2025-11-19 00:10:29 +08:00
49557e7580 fix(pycdc): don't skip 1 instruction right after RETURN_VALUE 2025-11-19 00:08:21 +08:00
6c6aa159df sync with 71c3307: unit buffer 2025-11-19 00:07:46 +08:00
b5983f505f sync with 766647f: prompt, only 1 file, flush on err 2025-11-18 23:55:37 +08:00
7a0044914c Merge py3.14 das, commit '1d123722' 2025-11-18 23:50:39 +08:00
3359b0e1b2 fix: 3.13 is supported 2025-09-18 21:49:31 +08:00
8b8fe3020a Merge branch 'master' into fork 2025-09-18 16:35:01 +08:00
Michael Hansen
a05ddec0d8 Merge pull request #564 from whoami730/exceptions
Some checks failed
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Linux-CI / build (push) Has been cancelled
MSVC-CI / build (push) Has been cancelled
Parse and display exception table
2025-08-30 10:02:14 -07:00
Sahil Jain
d8c6fdf711 Address comments 2025-08-30 20:01:32 +05:30
Michael Hansen
577720302e Add basic protection aginst circular references in pycdas and pycdc.
This fixes the last case of fuzzer errors detected by #572.
2025-08-28 16:42:03 -07:00
Michael Hansen
38799f5cfb Also check EOF in getBuffer() 2025-08-28 15:58:28 -07:00
Michael Hansen
0e7be40367 Add some extra guards against null dereference and empty std::stack pops
Fixes segfault cases of #572
2025-08-28 15:36:35 -07:00
Michael Hansen
ff0c1450b4 Abort immediately when attempting to read past end of stream.
No consumers of readByte() were actually checking for EOF, so they would
all keep re-reading the same byte over and over again, potentially until the
process runs out of memory (ref #572).
2025-08-28 15:14:55 -07:00
Alex
1d1237228a Add missed python 3.14 cpp module 2025-07-27 14:46:12 +03:00
Alex
97e49d644f Initial support for Python 3.14 2025-07-27 14:29:01 +03:00
Sahil Jain
e8e10f1419 Parse exception table 2025-07-15 22:47:02 +05:30
Michael Hansen
a267bfb47f Merge pull request #561 from whoami730/bug-fix
Fix bug in RAISE_VARARGS
2025-07-04 12:41:02 -07:00
Sahil Jain
8b0ea9450e Fix RAISE_VARARGS bug 2025-07-04 19:16:04 +05:30
db5f282e61 Merge branch 'master' into fork 2025-07-03 12:25:12 +08:00
Michael Hansen
7d2039d24e Merge pull request #557 from whoami730/new-opcodes
Support py 3.12 opcodes: part 2
2025-07-02 07:58:23 -07:00
Michael Hansen
e64ea4bdec Merge branch 'master' into new-opcodes 2025-07-02 07:56:28 -07:00
Michael Hansen
4badfa6321 Merge pull request #555 from whoami730/master
Support py 3.12 opcodes: part 1
2025-07-02 07:51:36 -07:00
Sahil Jain
6e0089e01c Update 2025-07-01 22:52:59 +05:30
Sahil Jain
3afcfbc6a7 Fix compilation error 2025-07-01 14:01:05 +05:30
Sahil Jain
aa292c7682 Add newlines 2025-07-01 09:27:07 +05:30
Sahil Jain
5fe61462a2 Support COPY opcde 2025-07-01 09:25:49 +05:30
Sahil Jain
ad5f39db56 Support SLICE opcodes 2025-07-01 09:24:53 +05:30
Sahil Jain
97ec04789d Add JUMP_BACKWARD + CACHE comments 2025-07-01 09:22:57 +05:30
Sahil Jain
6dae4e801f Remove COPY opcode 2025-07-01 09:22:57 +05:30
Sahil Jain
040732920b Add comment 2025-07-01 09:22:57 +05:30
Sahil Jain
a93fd14672 Add new loop tests 2025-07-01 09:22:57 +05:30
Sahil Jain
a4a6a24f3e Support END_FOR opcode 2025-07-01 09:22:56 +05:30
Michael Hansen
307e0b8fd7 Update to upload-artifact/v4 to fix CI 2025-06-30 19:21:38 -07:00
299a59f0a9 ci: build workflow 2025-03-17 20:36:42 +08:00
45ea5f4ac8 fix: flush das before dc 2025-03-14 22:25:48 +08:00
33f2cc57c0 chore: remove codeql 2025-03-11 13:26:41 +08:00
e4f96df166 fix: avoid popping defblock and segfault 2025-03-07 15:36:03 +08:00
93c9e47e82 sync with d9e00c3 2025-03-07 11:59:55 +08:00
a2b8ab1205 sync with dc5d2b9 2025-03-05 22:55:46 +08:00
Michael Hansen
5e1c4037a9 Merge pull request #522 from samyk/report-invalid-opcode
show INVALID opcode properly if < 0
2024-10-13 09:54:24 -07:00
samy kamkar
bbc19885f4 show INVALID opcode properly if < 0 2024-10-12 13:45:16 -07:00
Michael Hansen
dc6ca4ae36 Remove additional specialized opcode that wasn't ordered with the others 2024-08-12 11:39:36 -07:00
Michael Hansen
19f8372358 Remove specialized opcodes.
They are used at runtime, and not written to .pyc / .pyo objects.
2024-08-12 11:24:07 -07:00
Michael Hansen
f37caa8f2a Test runner refactor (#508)
* Port test runner script to Python.

This allows us to keep the test output in sorted order while still running the
tests in parallel.  It also now defaults to using the number of available CPU
threads for parallel execution, rather than the previously hard-coded default.

* Also port decompyle_test.sh script to python within run_tests.py

* Fix cmake check target for multi-config generators.

Adds testing of release builds on both MSVC and GCC.

* Fix diff comparisons on Windows

* Ubuntu runners don't have ninja by default
2024-08-08 15:55:35 -07:00
Michael Hansen
b939aeb87c Update operand documentation for new opcodes and oparg changes.
Also extends the disassembly oparg decoding for new 3.13 additions.
2024-08-07 15:44:36 -07:00
Alex
75de28decc Python 3.13 initial support (#497)
* Support for JUMP_BACKWARD

* Initial support for Python 3.13

* Remove opcode from another old PR, not needed in the current one

* Update bytes/python_3_13.cpp

Co-authored-by: Michael Hansen <zrax0111@gmail.com>

* Update bytecode_ops.inl

Co-authored-by: Michael Hansen <zrax0111@gmail.com>

* Update .gitignore

Co-authored-by: Michael Hansen <zrax0111@gmail.com>

* Update bytecode_ops.inl

---------

Co-authored-by: Michael Hansen <zrax0111@gmail.com>
2024-08-07 15:39:40 -07:00
Michael Hansen
48d1bfa59f Fix a null dereference.
Fixes #486
2024-08-06 08:21:12 -07:00
Alex
cb32b581ee Add one more missed flag: CO_ASYNC_GENERATOR (#505)
* Support for JUMP_BACKWARD

* Add missed flag CO_ASYNC_GENERATOR

* Revert "Support for JUMP_BACKWARD"

This reverts commit 81543ece8c481b6e6b0f5724d8aa6766d3dcb8ae.
2024-08-05 12:35:10 -07:00
Michael Hansen
c925dafcdf Also update the disassembly output to match the new flag values 2024-08-04 12:55:35 -07:00