From a12d55c6c0572f5b0650fa065ce1cd2430fe2a61 Mon Sep 17 00:00:00 2001 From: pancake Date: Mon, 6 Apr 2020 04:02:50 -0400 Subject: [PATCH] Fix #16394 - Make pm [file] work again ##print (#16428) * Fix #16394 - Make pm [file] work again ##print * Add test for pm [file] --- libr/core/cmd.c | 2 +- libr/core/cmd_print.c | 10 ++++------ test/new/db/cmd/cmd_search | 11 +++++++++++ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/libr/core/cmd.c b/libr/core/cmd.c index e8aba33206..5705e30a5a 100644 --- a/libr/core/cmd.c +++ b/libr/core/cmd.c @@ -2884,7 +2884,7 @@ static int r_core_cmd_subst_i(RCore *core, char *cmd, char *colon, bool *tmpseek line = strdup (cmd); line = r_str_replace (line, "\\\"", "\"", true); if (p && *p && p[1] == '|') { - str = r_str_trim_head_ro (p + 2); + str = (char *)r_str_trim_head_ro (p + 2); r_core_cmd_pipe (core, cmd, str); } else { r_cmd_call (core->rcmd, line); diff --git a/libr/core/cmd_print.c b/libr/core/cmd_print.c index db4108445f..af07382887 100644 --- a/libr/core/cmd_print.c +++ b/libr/core/cmd_print.c @@ -5872,14 +5872,12 @@ l = use_blocksize; "| /m # search for magic signatures\n" ); } else if (input[1] == 'j') { // "pmj" - if (l > 0) { - r_core_magic (core, input + 2, true, true); - } + const char *filename = r_str_trim_head_ro (input + 2); + r_core_magic (core, filename, true, true); } else { // XXX: need cmd_magic header for r_core_magic - if (l > 0) { - r_core_magic (core, input + 1, true, false); - } + const char *filename = r_str_trim_head_ro (input + 1); + r_core_magic (core, filename, true, false); } break; case 'u': // "pu" diff --git a/test/new/db/cmd/cmd_search b/test/new/db/cmd/cmd_search index 4178fd38e7..15ade7da32 100644 --- a/test/new/db/cmd/cmd_search +++ b/test/new/db/cmd/cmd_search @@ -1,3 +1,14 @@ +NAME=pm olf +FILE=../bins/elf/ioli/crackme0x00 +ARGS=-n +CMDS=<