libr.a is built with all the files required to build against r2, so that
includes also SDB. As SDB already has a file named json.c, the new json
parser in r_util collides with it.
* Fail if ASN1 object is not ObjectID
* Fail if CMS contentType is NULL
* Fail if SpcAttributeTypeAndOptionalValue type is NULL
* Fail if cms contentType is not spcIndirectDataContext
* Use strcmp and r_return_val_if_fail
* Assert only on function arguments, not their contents
Co-authored-by: phakeobj <phakeobj@users.noreply.github.com>
* Implement `pde` to disassemble following code execution
* Fix `asm.filter=1` with `scr.color=0`
* Fix cache not being used
* Share read and write file permissions on Windows
* Use CreateFileW in r_sandbox_open on Windows and fix file permissions
* Fix opening nul and O_RDWR
* File creation flags cannot be combined on Windows
* Share write in r_file_mmap_windows
* Annotation for function name (#17204)
* Annotations for Constant Variables and Global Variables for the decompiler (#17281)
* Annotation For Function Variables (#17375)
* function variable annotation added (includes local variable and function parameter)
* API for checking if an annotation is a reference or function variable. (#17386)
* Update docs in annotate code API (#17397)
* Unit tests for annotated code API (#17403)
* add `acg` - printing class hierarchy graph
* Move the printing into the cmd_anal.c from returned RAGraph
* Change API to return Graph and transform it to AGraph when printing is necessary
* Move graph to agraph into agraph module, move generic node structure to rgraph, removing unnecessary dependency
* Move RGraphNodeInfo related functions to graph.c
* Change `fork_and_ptraceme` to start debuggee with rarun2 profile on Linux & Mac
* Add two new commands `doe` and `doe!` to show and edit rarun2 startup profile
* Fix `r_run_parse` to read last line
* Avoid duplication of SDB headers in libr/include
SDB is an external project and as such it should live in shlr. However,
for simplicity in dealing with the include flags, the SDB headers were
copied in libr/include as well. This patch just keeps the SDB files
confined in shlr/sdb and make sure various r_* libs use the headers from
there.
* Fix pkgconfig file generation
* Do not check with r_return_ if the convention is present
Let's just assume the NULL default in such a case, so that architectures
for which we don't have a defined calling convention can still be
processed somehow by the analysis code. It won't be precise, but it's
better than nothing.
Also add a warning message so users are aware when the calling
convention is not defined.
* Fix oob-read when # is at the end of the cmd string
* Do not set TMPDIR when the new value is the empty string
When TMPDIR is set to empty value, clang+ld behaves in weird ways and
you cannot compile files from within the r2 shell (e.g. when using #!c
or #!cpipe)
* Use meson and add -lasan to pkgconfig files when sanitizer are used
* Check for ferror(), not only for feof()
Some files could not be read and would create an infinite loop during
the execution of r_file_slurp. This patch fixes that issue: when an
error occur at read time, it detects it with ferror(fd) and it returns
an empty buffer.
* Call ferror inside loop and fclose fd
* div by 0
* null deref in r_bin_dex_free
* null deref in get_object
* memset to 0 new capacity if we increase, to avoid garbage in the vector.
* null deref in extract_sections_symbols
* printfs. and moved insert after null deref check.
* moved check before adding the cobj into list.
* moved i definition inside if.
* using r2 macros.
* changed condition to sym_size == 0
* changed condition to if (ret) do smth
* refactoring
* code formatting
* added r_pvector_new_with_len to fix issue with bad usage of RPVector
* using r_pvector_new instead DUP
* Removed check which doesn't make sense and formatting
Co-authored-by: Giovanni Dante Grazioli <giovanni.dantegrazioli@nbs-system.com>
* Make sure meson can build with `system` = `android`.
* Add support for binr/blob in meson build
* Add also r_util as dependency
* Create sdb_version.py to get the SDBVER value from config.mk
* Set unknown sdb version if something fails
* Add `--without-dylink` configure flag to disable "libdl" features
* Add "WANT_DYLINK" option in Meson buildsystem
Co-authored-by: pancake <pancake@nopcode.org>
* Optimize r_file_proc_size() reading by blocks instead of chars ##util
For /proc/self/maps this is almost 2x faster, will be much faster on bigger files
* Make it static, it's not even defined in r_file.h
* Rename `r_file_proc_size()` into `procfile_size()`
Co-authored-by: pancake <pancake@nopcode.org>
Co-authored-by: Anton Kochkov <xvilka@gmail.com>