]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - tools/perf/util/header.c
perf header: Don't assume there's no attr info if no sample ids is provided
[mv-sheeva.git] / tools / perf / util / header.c
index d7e67b167ea338a28fed519260f1069dd8e92cf9..64a85bafde63a1c6f05451a32b31eec521c799d9 100644 (file)
@@ -946,11 +946,16 @@ perf_header__find_attr(u64 id, struct perf_header *header)
 
        /*
         * We set id to -1 if the data file doesn't contain sample
-        * ids. Check for this and avoid walking through the entire
-        * list of ids which may be large.
+        * ids. This can happen when the data file contains one type
+        * of event and in that case, the header can still store the
+        * event attribute information. Check for this and avoid
+        * walking through the entire list of ids which may be large.
         */
-       if (id == -1ULL)
+       if (id == -1ULL) {
+               if (header->attrs > 0)
+                       return &header->attr[0]->attr;
                return NULL;
+       }
 
        for (i = 0; i < header->attrs; i++) {
                struct perf_header_attr *attr = header->attr[i];