diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index d3482eba9283..86a4beec6528 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -2582,19 +2582,21 @@ int annotate_check_args(void) int arch__dwarf_regnum(const struct arch *arch, const char *str) { - const char *p; + const char *p = str; char *regname, *q; int reg; - p = strchr(str, arch->objdump.register_char); - if (p == NULL) - return -1; + if (arch->objdump.register_char) { + p = strchr(str, arch->objdump.register_char); + if (p == NULL) + return -1; + } regname = strdup(p); if (regname == NULL) return -1; - q = strpbrk(regname, ",) "); + q = strpbrk(regname, ",)] "); if (q) *q = '\0';