From 347d8a72f50b1bdca3277e7601766b40bf7bb1d3 Mon Sep 17 00:00:00 2001 From: Peiwei Hu Date: Fri, 1 Jul 2022 00:33:43 +0800 Subject: [PATCH] Fix the crash of command fg (#2758) --- librz/core/cmd/cmd_flag.c | 7 +++++-- test/db/cmd/cmd_flags | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/librz/core/cmd/cmd_flag.c b/librz/core/cmd/cmd_flag.c index c143e231f3..b6ba623e25 100644 --- a/librz/core/cmd/cmd_flag.c +++ b/librz/core/cmd/cmd_flag.c @@ -136,7 +136,6 @@ static void __printRecursive(RzCore *core, RzList *flags, const char *name, RzOu RzListIter *iter; if (mode == RZ_OUTPUT_MODE_RIZIN && RZ_STR_ISEMPTY(name)) { rz_cons_printf("agn root\n"); - return; } if (rz_flag_get(core->flags, name)) { return; @@ -299,7 +298,11 @@ RZ_IPI RzCmdStatus rz_flag_local_list_all_handler(RzCore *core, int argc, const RZ_IPI RzCmdStatus rz_flag_graph_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state) { RzList *flags = rz_list_newf(NULL); rz_flag_foreach_space(core->flags, rz_flag_space_cur(core->flags), listFlag, flags); - __printRecursive(core, flags, argv[1], state->mode, 0); + if (!argv[1]) { + __printRecursive(core, flags, "", state->mode, 0); + } else { + __printRecursive(core, flags, argv[1], state->mode, 0); + } rz_list_free(flags); return RZ_CMD_STATUS_OK; } diff --git a/test/db/cmd/cmd_flags b/test/db/cmd/cmd_flags index 67a70945a0..c1d9b27dbb 100644 --- a/test/db/cmd/cmd_flags +++ b/test/db/cmd/cmd_flags @@ -652,3 +652,40 @@ EXPECT=<