perf session: Fix crash with invalid CPU list
authorDavid Ahern <dsahern@gmail.com>
Sun, 13 Nov 2011 17:45:27 +0000 (10:45 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 16 Nov 2011 12:02:26 +0000 (10:02 -0200)
commit 5d67be9 added the option to specify a range of CPUs of interest,
but does not catch an invalid CPU list:

$ perf script -c foo
Segmentation fault (core dumped)

Cc: Anton Blanchard <anton@samba.org>
Link: http://lkml.kernel.org/r/1321206327-5881-1-git-send-email-dsahern@gmail.com
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

tools/perf/util/session.c

index 85c1e6b..0f4555c 100644 (file)
@@ -1333,6 +1333,10 @@ int perf_session__cpu_bitmap(struct perf_session *session,
        }
 
        map = cpu_map__new(cpu_list);
+       if (map == NULL) {
+               pr_err("Invalid cpu_list\n");
+               return -1;
+       }
 
        for (i = 0; i < map->nr; i++) {
                int cpu = map->map[i];