-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Ppc tabort #1470
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ppc tabort #1470
Conversation
|
Interesting, how did you come up with this fix? |
|
It looks like the three operands are u5imm, gprc, u5imm Does it look good ? |
|
we are basing on llvm 7.0.1. if you build llvm, you will see that the related code in like below. so we just "port" this code to Capstone, as is. can you provide the related input (for cstool) of this case? |
|
cstool -d ppc64be "7d 20 06 5d" With this LLVM code, there is at least the problem that you can get an overflow reading CRRC0 register number on 5 bits, when there are only 8 of them (so overflow, when you use the number/index to get the register name/info) |
|
this input "7d 20 06 5d" is |
|
Did you report it to them ? |
|
Not yet, do you want to report yourself? |
|
Can you create a separate PR for the fuzzer, so i can merge it independently? |
|
@kcc aren't you fuzzing LLVM ? |
|
We do fuzz various bits of LLVM on oss-fuzz, but I don't know whether we fuzz this particular code path. Help is more than welcome! |
|
@kcc you can take a look here : There, I tried to do differential fuzzing between capstone and llvm. |
This reverts commit b75ed40.
|
@catenacyber, this is fine, because eventually i will just "squash & merge", and all the reverted commits will be gone. |
|
Followed by #1510 |
Found by oss-fuzz
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14515
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14518
tested again onlinedisassembler.com