pancake
95eff67851
Enable the leading spaces linter rule and fix them all ##lint
2022-09-24 03:43:21 +02:00
pancake
b544f7ec1c
Cache r_anal_cc_arg in heap to avoid ownership race conditions
2022-09-23 22:07:49 +02:00
pancake
9e53795891
Add some RThreadLocks and start to use the critical sections ##threads
2022-09-23 22:07:49 +02:00
HighW4y2H3ll
15d337a70a
Use RPVector in RAnalOp src/dst to support ldm/stm/simd ##anal
2022-09-18 10:01:39 +02:00
pancake
8317a962e1
Add anal.vars.newstack - configurable improved stack-relative var ##analysis
2022-09-14 00:18:38 +02:00
pancake
b6e7292019
Enable linting for trailing tabs ##lint
2022-08-22 23:25:40 +02:00
pancake
7a35f03471
More source spacing linting
2022-08-18 14:37:29 +02:00
pancake
8c66266e99
Lint for trailing spaces
2022-08-15 18:21:18 +02:00
pancake
332574aeb5
More eprintf -> RLOG here and there ##refactor
2022-07-05 13:34:13 +02:00
pancake
e2bbe2b14e
Add a linting to avoid R_LOG calls ending with a dot ##lint
2022-07-04 17:42:25 +02:00
pancake
3db3750eb0
Lint for x"" ##cleanup
2022-06-28 12:07:58 +02:00
Richard Patel
363df75c06
Replace some instances of eprintf with R_LOG_
2022-06-28 02:49:42 +02:00
pancake
2bca764ad3
Cleanup stuff
...
* Use more R_TH_LOCAL
* Use more const char * const
* Add archinfo for cr16
* Use more R_LOG
* Remove dup code in RCons.pixel
2022-06-26 12:41:22 +02:00
pancake
5b7c970f2b
eprintf requires newline
...
* git grep eprintf | grep -v '\\n'| grep '('
2022-05-05 13:11:52 +02:00
pancake
560f7fb424
Introduce r_arch.h. Use RArchConfig in RAnal and improve RRef api ##api
...
* Fix unaligned issue in hex asan test
2022-04-24 23:11:26 +02:00
pancake
a45ad575b1
Update material webui with latest tweaks
2022-04-20 00:27:17 +02:00
pancake
3b3b83637e
Fix #19876 - Smarter local variable and argument sorting ##disasm
...
* Fix tests
2022-04-18 23:47:18 +02:00
pancake
9386d87f1a
Fix comma separated args in r_anal_function_format_sig ##analysis
...
* This is used by `pd`
2022-04-18 23:47:18 +02:00
pancake
a7ce29647f
Fix UAF in aaaa on arm/thumb switching ##crash
...
* Reported by @peacock-doris via huntr.dev
* Reproducer tests_65185
* This is a logic fix, but not the fully safe as changes in the code
can result on UAF again, to properly protect r2 from crashing we
need to break the ABI and add refcounting to RRegItem, which can't
happen in 5.6.x because of abi-compat rules
2022-03-21 18:46:53 +01:00
pancake
ad2df6a14c
Fix undefined behaviour in RVector, RPVector, RInterval and container_of ##fix
...
* All those basic primites were based on wrong assumptions
* Added more return_if preconditions on several anal functions
2022-03-21 12:04:14 +01:00
pancake
63d4172d94
Fix last covs, mainly memleaks and update one test
2022-03-11 13:14:46 +01:00
pancake
b2cb721bf0
Restrict local vars and args in a 8KB range, otherwise skip ##analysis ( #19811 )
...
* Update and verify tests accordingly, new output is better
* Optimize function emulation by reusing bbdata
2022-03-10 16:45:59 +01:00
pancake
5cc0becdcd
Macrofication of the '+=' and '-=' esil operations ##esil
2022-02-01 13:34:34 +01:00
pancake
917527306f
Address latest covs and remove some %zu format warnings ( #19647 )
2022-02-01 08:19:38 +01:00
Dennis Goodlett
249222cfe7
Simpler var counting API ##analysis
2022-01-31 01:46:54 +01:00
RHL120
785e500a7e
A better way to check if a project has been saved ##projects
...
* Add a dirty var to RFlag, RAnal and RConfig
* Add prj.alwaysprompt
* Add R_DIRTY() and R_IS_DIRTY()
2022-01-25 10:39:15 +01:00
pancake
f2995c2949
Introduce r_strf and stop using sdb_fmt ##util
2022-01-18 18:35:31 +01:00
Lazula
ad749a0b1a
Fix static/R_API function definition formatting
...
* Remove spaces before parens
* Remove spaces after asterisks
2021-12-21 20:58:12 +01:00
pancake
e6f2cd0b2a
Remove trailing spaces ( #19460 )
...
$ git grep ' $' | grep -v ^test/ | cut -d : -f 1 | sort -u > /tmp/trailing
$ for a in `cat /tmp/trailing` ; do sed -i -e 's/ *$//' $a ; done
2021-12-02 17:39:59 +01:00
aviciano
5a0bc927e7
Fix #16178 - Rename the r_anal_fcn* apis to r_anal_function*
2021-11-21 20:18:46 +01:00
pancake
e344564013
Fix return type in var.c
2021-11-14 18:22:10 +01:00
Dennis Goodlett
70ddf62757
Fix afv outputing commands when not in "*" mode ( #19381 )
2021-11-06 08:06:34 +01:00
RHL120
59b5ec4e3c
Fix a problem serializing vartypes ##projects
...
That was causing some functions to not be reloaded after saving the project
2021-11-05 11:26:55 +01:00
Dennis Goodlett
5be4f6c092
Add serialization API for vars ##anal
2021-11-02 11:04:35 +01:00
condret
52262664c9
Fix variable relocation on ood ( #19219 ) ##anal
2021-10-13 22:11:18 +02:00
pancake
67813f9cf2
Hide anoying 'Register wasn't found at the given delta' message
2021-08-22 02:17:50 +02:00
pancake
352630295e
Polish some asserts here and there ( #18927 )
2021-07-23 09:36:10 +02:00
Kamil Rytarowski
9d761f6a88
Avoid array subscript type issues ( #18295 )
...
Cast char to unsigned char for standard reasons and security purposes.
Fixes build issues on NetBSD.
2021-01-26 13:08:58 +01:00
pancake
1184610971
Fix the CI badge and fully rewrite all the workflows to make sense ##build
...
* Windows, Linux, Static, macOS, Android, iOS builds published for every commit
* Kept coverage, coverity, fuzzing tests, lgtm and -Werror jobs
* Kill the continuos, the over-engineered matrix and other empty or unnecessary tasks (250 vs 900LOC)
* Jobs TODO: fatmac, termux and rpm (centos) packages
2021-01-12 13:41:21 +01:00
Liumeo
93166667da
Fix asan st overflow ##asan ( #18149 )
2021-01-01 23:33:34 +01:00
Anton Kochkov
5da1b3b076
Fix some warnings
2020-11-16 18:56:21 +08:00
GustavoLCR
d8f2b0c1f7
Fixes for variable access analysis for ARM64 ( #17894 )
...
* Add `R_ANAL_VAR_ACCESS_TYPE_PTR`
* Fix ARM64 preindex esil to actually modify the register before doing the operation
* Fix destination register for store ops with multiple sources
* Fix source register for load ops with multiple destinations
* Fix src/dst register for post-indexed ops
* Fix src/dst delta info
* Fix stack modification detection with add instruction
* Fix `tmp` esil register breaking variable access info
* Fix stack analysis for indexed load/stores
* Fix variable detection at sp
* Add ARM64 pre-indexed 'str' function prelude
2020-11-12 12:26:12 +08:00
GustavoLCR
9faa7cb979
Add r_anal_function_delete_unused_vars()
2020-11-01 02:12:14 +01:00
Riccardo Schirone
1e58692071
Fix incorrect uses of printf-like functions ##refactor ( #17648 )
2020-10-13 16:26:15 +02:00
Florian Märkl
78e30b3ac7
Refactor Variable Constraints out of SDB ##anal ( #17693 )
2020-09-23 09:40:39 +02:00
GustavoLCR
2128795d94
Takeover variables when splitting functions ##anal ( #17560 )
2020-09-03 07:44:36 +08:00
GustavoLCR
62eb8e62da
Fix afvd
using wrong var offsets ( #17572 )
2020-09-02 13:49:14 +02:00
GustavoLCR
2d91290434
Fix some cc assertions ( #17552 )
2020-08-31 12:43:21 +08:00
HoundThe
5845ec39ca
Add function information from DWARF ##anal ##bin ( #17434 )
2020-08-19 18:21:20 +08:00
GustavoLCR
5b101b6521
Improve ARM and PPC analysis ##anal ( #17356 )
...
* Fix stepping with ESIL into thumb code
* Fix seek changed after `aaef`
* Run `aaef` instead of `aae` in `aaa`
* Fill IMM info for arm op
* Add op info for arm32 UXT opcodes
* Fill op src/dst info for cast ops on arm
* Fix false positives for reg args detection on arm/riscv
* Change `r_core_recover_vars()` to recurse on bbs
* Fix reg arena stack being corrupted on `aaef`
* Fix detection of var address references on `aaef`
* Fix arm pseudo syntax output
* Correctly substitute pc relative offsets
* Substitute address references to variables
* Fill op->cond for arm64
* Fix wrong jump table size for arm
* Fill bb->cond
* Implement r_anal_block_recurse_depth_first
* Use r_anal_block_recurse_depth_first on r_core_recover_vars
* Handle MRS/MSR on arm64
* Log if arm op not handled
* Complete arm op_fillval
* Convert 32bit arm64 reg names to 64bit
* Fix stackop analysis on PPC
* Fix tests
2020-07-29 10:41:26 +08:00