diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index e2bf620f98cb29b6d5cc89010fa0fbdc8ce589bc..f272a711ad15c5182976681b7c99fc0a229a8267 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -356,12 +356,14 @@ static int get_alternative_line_range(struct debuginfo *dinfo, struct line_range *lr, const char *target, bool user) { - struct perf_probe_point pp = { 0 }, result = { 0 }; + struct perf_probe_point pp = { .function = lr->function, + .file = lr->file, + .line = lr->start }; + struct perf_probe_point result; int ret, len = 0; - pp.function = lr->function; - pp.file = lr->file; - pp.line = lr->start; + memset(&result, 0, sizeof(result)); + if (lr->end != INT_MAX) len = lr->end - lr->start; ret = find_alternative_probe_point(dinfo, &pp, &result,