Commit graph

5018 commits

Author SHA1 Message Date
Rot127
2de76ae94d
cs_disasm_iter: return early on zero-size input (#2886) (#2920)
Prevent calling backend decoder with no remaining bytes,
which could lead to out-of-bounds reads.

Co-authored-by: Petar Andrić <slate@null.net>
2026-05-14 10:23:59 +00:00
pancake
30d610cd65
v5: Speedup x86 decoding with the help of LUT tables (#2907)
* Speedup x86 decoding with the help of LUT tables

lu: Disassembled 37602620 instructions (35221820 valid, 2380800 bad), 6015.21 ms
v5: Disassembled 37602620 instructions (35221820 valid, 2380800 bad), 7291.75 ms

* review comments

* Revert and use CS_ASSERT_RET

---------

Co-authored-by: pancake <pancake@nopcode.org>
2026-05-06 09:06:25 +00:00
@Antelox
0bd647456e
Python binding: (#2873)
- Remove xprint dependency from tests
2026-03-02 19:11:55 +00:00
Rot127
52c66920fc
Increase version number and update changelog. (#2854) 2026-02-09 22:30:40 +00:00
Rot127
4d90b137b4
CVE v5 backports (#2835)
* Backport of 2c7797182a to v5 branch.

* Check return value of cs_vsnprintf for negative values.

This prevents underflow of SStream.index.
This bug was reported by Github user Finder16.

* Add overflow check before adding cs_vsnprintf return value.

* Backport of cbef767ab3 into v5.

The overflow was reported by Github user Finder16
2025-12-29 14:11:15 +00:00
scribam
cd6dd7b75d
Set cmake project version if empty (#2785) 2025-09-22 09:49:44 +00:00
Wu ChenXu
accf4df62f
version: update v5 to 5.0.6 (#2655) 2025-03-23 23:48:02 +08:00
Rot127
09f08f9ffb
Add little endian support for TMS320c64x. (#2649)
This requires now to initialize TMS320c64x with the CS_MODE_BIG_ENDIAN flag.
2025-03-22 21:50:37 +08:00
Nik
cc49ae62ec
Fix cmake error when build with capstone as submodule (#2619) 2025-03-03 12:00:31 +08:00
Rot127
59cca4fc3d
Build Tarball before DEB/RPM package. (#2626)
Because it was run after the RPM/DEB package build it contained the 'build' directory
with all its files. Which made it way too big.
2025-02-19 11:56:20 +08:00
Rot127
eb3336373b
V5 - Fix sdist build and add CI job for testing it. (#2623)
* Fix sdist build and add CI job for testing it.

* Temporarily set QEMU version to v8.1.5.
2025-02-07 23:34:56 +08:00
Wu ChenXu
55261253c3
Update version to v5.0.5 (#2606)
* chore(build): fix cmakelist issue when solving conflict

* chore(version): update to v5.0.5

* chore(workflows): update upload-artifact version to v4
2025-01-17 10:24:00 +08:00
Wu ChenXu
acf11d86fe
chore(version): update changelog to v5.0.4 (#2605) 2025-01-16 12:23:33 +08:00
Wu ChenXu
00cd20ac7c
Update version to v5.0.4 (#2604)
* chore(bindings): fix const generator syntax error

* chore(version): update version to v5.0.4
2025-01-16 12:18:40 +08:00
Andrew
44b0589fa2
Create CPack for RPM and DEB packaging (#2596) 2025-01-15 16:07:41 +00:00
Andrew
ea42c2803a
Creating a functional Debian Package for Capstone v5 (#2569) 2024-12-17 13:07:13 +08:00
billow
8455b3c5a5
tricore: fixes #2386 in v5 (#2527) 2024-11-01 17:31:21 +08:00
david942j
36a9619b73
[v5][SuperH] Fix missing setting detail->sh (#2465)
detail->sh is never set. Which makes the detailed output related to
operands is always missing.
2024-09-19 19:03:57 +08:00
Wu ChenXu
5cca00533d
Update to v5.0.3 (#2451)
* Prepare for release v5.0.2

* Update ChangeLog for v5.0.2

* Update Python package build action

* [CI] Downgrade upload-artifact tp v3

* update changelog

* [CI] downguard actions/download-artifact to v3

* Update version to v5.0.3

* update python bindings version
2024-08-20 22:41:54 +08:00
Rot127
828268c275
[v5] Wheel build fixes: manylinux1, trigger upload on release, Linux AArch64 (#2443)
* Enable verbose twine upload.

* Add step to show downloaded artifacts for debugging.

* Sync with next

* Sync with next.
2024-08-19 16:32:28 +08:00
Duncan Ogilvie
041ec636dc
Add back support for relocatable packages (#2447) 2024-08-19 10:51:26 +08:00
Rot127
47f93e90b8
[v5] Updates and fixes to the Python wheel builder workflow (#2440) 2024-08-15 20:58:32 +08:00
Wu ChenXu
eb5b24b43a
[CI] downguard actions/download-artifact to v3 (#2436)
* Prepare for release v5.0.2

* Update ChangeLog for v5.0.2

* Update Python package build action

* [CI] Downgrade upload-artifact tp v3

* update changelog

* [CI] downguard actions/download-artifact to v3
2024-08-12 15:41:11 +08:00
Wu ChenXu
d61eb90d54
Update changelog v5.0.2 release time (#2435)
* Prepare for release v5.0.2

* Update ChangeLog for v5.0.2

* Update Python package build action

* [CI] Downgrade upload-artifact tp v3

* update changelog
2024-08-12 15:15:53 +08:00
Heesung Kim
4587622378
Fix static lib (#2433) (#2434) 2024-08-12 11:59:17 +08:00
Rot127
00b961a680
Fix CI fuzz job yml syntax (#2430) 2024-08-08 18:27:30 +08:00
Wu ChenXu
7e1230610d
[V5] Fix Python package build action (#2428)
* Prepare for release v5.0.2
* Update ChangeLog for v5.0.2
* Update Python package build action
* [CI] Downgrade upload-artifact tp v3
2024-08-08 16:58:09 +08:00
Wu ChenXu
077e702dd4
Update ChangeLog for v5.0.2 (#2426)
* Prepare for release v5.0.2

* Update ChangeLog for v5.0.2
2024-08-08 15:48:06 +08:00
Wu ChenXu
c34fc89a45
Prepare for release v5.0.2 (#2425) 2024-08-08 11:55:54 +08:00
Rot127
7e32d747e1
Merge pull request #2422 from david942j/v5_thumb_cpsr
[v5][arm] Consider SpecRegRBit on setting SYSREG
2024-08-04 11:15:50 +00:00
david942j
849fdfa376 [v5][arm] Consider SpecRegRBit on setting SYSREG
In ARMInstPrinter#printMSRMaskOperand, setting the type of SYSREG does
not consider the SpecRegRBit, which causes the reported SYSREG value is
always for SPSR even the instruction is using CPSR.

Signed-off-by: david942j <david942j@gmail.com>
2024-08-04 11:04:57 +00:00
david942j
d31d979a1e
[v5] Fix unintended zero set in Sparc printInst (#2420) 2024-08-04 18:52:07 +08:00
Rot127
a904d0b9f3
Add a workflow to build all python wheels for release (#2415) 2024-08-04 18:45:40 +08:00
Kevin Phoenix
7905571be7
Backport python-publish.yml from next (#2408) 2024-08-01 12:06:33 +08:00
david942j
fe7cae3eb7
v5: Fix typo in AArch64 Python binding (#2412) 2024-08-01 11:58:23 +08:00
Kevin Phoenix
1bd2a32f2a
Remove deprecated packaging and cython (#2400)
* Remove deprecated packaging and cython

* Fix some issues after cherry-picking

* Fix CI issues

* Remove test files added for v6

* Also remove test_alpha.py
2024-07-24 14:18:26 +08:00
Lucas Azevedo
e90ef3928f
Use bitwise OR with mask for sign extension (#2371)
Sign extend using bitwise OR with mask, instead of unary minus.
Fixes error when building for UWP with Security Development Lifecycle (SDL).
See https://learn.microsoft.com/en-us/cpp/build/reference/sdl-enable-additional-security-checks?view=msvc-170
2024-06-13 08:56:45 +08:00
Rot127
3f87ce0f6a
Merge pull request #2360 from trufae/narrow-loop
Fix comparison using narrow types in loop condition
2024-05-17 08:38:52 +00:00
pancake
1883e9e7ec Fix comparison using narrow types in loop condition
* Spotted by GitHub CodeQL vulnerability scanner
* Related to: CWE-190, CWE-197 and CWE-835.
2024-05-16 19:25:51 +02:00
Rot127
11a2ea2863
Fix #2244: The offset for pseudo-instr. IDs was incorrectly applied for vcmp. (#2332) 2024-05-08 22:26:57 +08:00
Rot127
30a4ecf01b
Fix incorrect mapping of instructions' LLVM id to CS id. (#2333) 2024-04-30 10:36:49 +08:00
Rot127
52b23b7171
Fix #2079 via the post-printer. (#2329) 2024-04-30 10:36:03 +08:00
Rot127
6e0725ce4d
Fix #2128 by adding missing mapping values. (#2334) 2024-04-26 15:13:21 +08:00
PerikiyoXD
911b15c0e7
Update CMakeLists.txt version (See #2310) (#2311)
Update CMakeLists.txt version to 5.0.1
Fix #2310
2024-04-22 11:58:43 +08:00
pancake
1bd848fc74
Do not use 0b prefix, not supported on old compilers (#2306) 2024-04-07 13:57:20 +08:00
Rot127
2971910d6e
Revert constant of CS_OP_MEM to v5 value. (#2275) 2024-02-18 13:03:49 +08:00
Richard Henderson
5852885311
Constify TriCore (#2246) 2024-01-18 09:46:25 +08:00
Sören Tempel
f180e176de
Revert "Update constants from ARM auto-sync patch" (#2240) 2024-01-18 09:43:31 +08:00
Rot127
6ac231ff04
Add CS_aarch64 macro without parameter. (#2219) 2023-12-18 08:36:54 +08:00
Rot127
ee75e4b9a4
[v5] Add meta-programming macros for ARM64/AArch64 name change to capstone.h (#2199)
* Add meta-programming macros for ARM64/AArch64 name change to capstone.h

* Add tests for rename macros. (#2202)
2023-11-24 11:57:23 +08:00