perf pmu: Fix check for unset alias->unit array

The alias->unit field is an array, so to check that it is not set we
should see if it is an empty string, i.e. alias->unit[0], instead of
checking alias->unit != NULL, as this will _always_ evaluate to 'true'.

Pointed out by clang.

Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/20170214182435.GD4458@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2017-02-15 10:06:20 -03:00
parent a0b2f5af4c
commit b30a7d1fc9

View File

@ -945,12 +945,12 @@ static int check_info_data(struct perf_pmu_alias *alias,
* define unit, scale and snapshot, fail * define unit, scale and snapshot, fail
* if there's more than one. * if there's more than one.
*/ */
if ((info->unit && alias->unit) || if ((info->unit && alias->unit[0]) ||
(info->scale && alias->scale) || (info->scale && alias->scale) ||
(info->snapshot && alias->snapshot)) (info->snapshot && alias->snapshot))
return -EINVAL; return -EINVAL;
if (alias->unit) if (alias->unit[0])
info->unit = alias->unit; info->unit = alias->unit;
if (alias->scale) if (alias->scale)