summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libpmc/libpmc_pmu_util.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c
index f451c37a0592..11949a3ad3cd 100644
--- a/lib/libpmc/libpmc_pmu_util.c
+++ b/lib/libpmc/libpmc_pmu_util.c
@@ -169,7 +169,7 @@ pmu_events_map_get(const char *cpuid)
{
regex_t re;
regmatch_t pmatch[1];
- size_t s, len;
+ size_t s;
char buf[64];
int match;
const struct pmu_events_map *pme;
@@ -193,8 +193,8 @@ pmu_events_map_get(const char *cpuid)
match = regexec(&re, buf, 1, pmatch, 0);
regfree(&re);
if (match == 0) {
- len = pmatch[0].rm_eo - pmatch[0].rm_so;
- if(len == strlen(buf))
+ if (pmatch[0].rm_so == 0 && (buf[pmatch[0].rm_eo] == 0
+ || buf[pmatch[0].rm_eo] == '-'))
return (pme);
}
}