diff --git a/lib/libpmc/libpmc.c b/lib/libpmc/libpmc.c index daea37c8c89..2826a250796 100644 --- a/lib/libpmc/libpmc.c +++ b/lib/libpmc/libpmc.c @@ -2781,7 +2781,8 @@ pmc_allocate(const char *ctrspec, enum pmc_mode mode, if (mode != PMC_MODE_SS && mode != PMC_MODE_TS && mode != PMC_MODE_SC && mode != PMC_MODE_TC) { - return (EINVAL); + errno = EINVAL; + goto out; } bzero(&pmc_config, sizeof(pmc_config)); pmc_config.pm_cpu = cpu;