From f98a9b755940edbf2a71830680499a876d9d250d Mon Sep 17 00:00:00 2001 From: pancake Date: Wed, 12 Jun 2024 13:37:43 +0200 Subject: [PATCH] Fix null deref in dbtj ##crash --- binr/r2r/run.c | 1 + libr/core/cmd_debug.inc.c | 8 +++++--- test/db/json/json4 | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/binr/r2r/run.c b/binr/r2r/run.c index c840f63fa9c5e..104d183718f1d 100644 --- a/binr/r2r/run.c +++ b/binr/r2r/run.c @@ -1403,6 +1403,7 @@ R_API R2RTestResultInfo *r2r_run_test(R2RRunConfig *config, R2RTest *test) { R2RJsonTest *json_test = test->json_test; R2RProcessOutput *out = r2r_run_json_test (config, json_test, subprocess_runner, NULL); success = r2r_check_json_test (out, json_test); +#define TEST_JSON_WITH_NO_FILES 0 #if TEST_JSON_WITH_NO_FILES // R2_590 - enable these tests if (strchr (json_test->cmd, '@')) { diff --git a/libr/core/cmd_debug.inc.c b/libr/core/cmd_debug.inc.c index c99ab168364cd..c7bfba0074a33 100644 --- a/libr/core/cmd_debug.inc.c +++ b/libr/core/cmd_debug.inc.c @@ -3435,9 +3435,11 @@ static void get_backtrace_info(RCore* core, RDebugFrame* frame, ut64 addr, char* *flagdesc2 = r_str_newf ("%s", f->name); } } - if (!strcmp (*flagdesc, *flagdesc2)) { - free (*flagdesc2); - *flagdesc2 = NULL; + if (*flagdesc && *flagdesc2) { + if (!strcmp (*flagdesc, *flagdesc2)) { + free (*flagdesc2); + *flagdesc2 = NULL; + } } if (pcstr && spstr) { if (core->dbg->bits & R_SYS_BITS_64) { diff --git a/test/db/json/json4 b/test/db/json/json4 index c57b7da389fe1..dac093b003cfb 100644 --- a/test/db/json/json4 +++ b/test/db/json/json4 @@ -1,5 +1,5 @@ rabin2 -gj /bin/ls -r2 -jV +# r2 -jV pcj # pdbj # pdfj