Comments (3)
FYI I can work on a pull request if you agree with my proposed solution
from capstone.
On Wed, May 7, 2014 at 7:16 PM, Giovanni Condello
[email protected]:
Whenever an instruction is marked as SKIPDATA, capstone should not try to
access insn->detail as it will be null thus causing segmentations fauls
(see, for example, cs_insn_group).I think the correct way to handle this is to
- Set handle->errnum to CS_ERR_SKIPDATA if insn is actually skipped
due to CS_OPT_SKIPDATAcurrently we set insn.id = 0 to reflect that the instruction is
irrelevant, so why do we still need to set errnum?
- Always check for insn->detail to be not null before accessing it
this is what we already did in all tests/test*.c code: checking
insn->detail before dereferencing it.
i believe this is also documented in capstone.h
- (Maybe throwing something more different from CS_ERR_DETAIL to
identify the two cases)
by "throwing something", are you talking about the bindings (Java, Python?)
let me know if i still miss something.
anyway, Pull Request is always welcome, as it is a best way to demonstrate
what you are saying :-)
thanks.
Q
from capstone.
Closing this one, let's continue on #107
from capstone.
Related Issues (20)
- MacOS wheel only contains x86_64 version of the libcapstone.dylib despite the package claims to be universal HOT 1
- Got abnormal behavior when set CS_OPT_DETAIL_REAL without CS_OPT_ON
- Can capstone recognize fmv.w.x instruction in RISCV ? HOT 3
- HPPADisassembler.c unitialized variables
- Incorrect/Missing Python Binding for operands within the X86-64 STOS Instruction
- Ensure API is properly documented before `v6`
- Use proper versioning on CMakeLists.txt - pkgconf versions are wrong otherwise HOT 1
- [BPF] `bpf_insn` collides with `libbpf` definition. HOT 13
- Build failure on Windows with MSVC \ capstone_static.vcxproj HOT 4
- HPPADisassembler: more unitialized variables HOT 3
- cs_insn::id is always invalid value on aarch64 HOT 2
- pip install on Mac HOT 1
- skipdata doesn't work correctly from python
- Ability to Generate Bitmasks for Specific Instruction Components? HOT 3
- x64 disassembler big endian bug
- Compiler warnings in the next branch HOT 2
- python bindings depends on setuptools HOT 3
- Remove python2 leftovers
- [AArch64] Instr. with groups `HasNEON`, don't have `HasNEONorSME` and similar assigned. HOT 25
- Release v4.0.3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from capstone.