aboutsummaryrefslogtreecommitdiff
path: root/idlestat.c
diff options
context:
space:
mode:
authorTuukka Tikkanen <tuukka.tikkanen@linaro.org>2015-01-13 20:48:07 +0200
committerTuukka Tikkanen <tuukka.tikkanen@linaro.org>2015-01-13 20:48:07 +0200
commitb743a7d5ed203ed87a06dddbd27cfb3fd04ceba5 (patch)
tree07ac8db984cae41cbf7847f777741ad21bbcf313 /idlestat.c
parent9477d3598858225dfac6e1981060c8f8d078af84 (diff)
idlestat: Check return value in cpuidle_get_target_residency
The return value from call to fscanf was previously ignored. Now the function cpuidle_get_target_residency will return -1 if fscanf fails to parse the value. Signed-off-by: Tuukka Tikkanen <tuukka.tikkanen@linaro.org>
Diffstat (limited to 'idlestat.c')
-rw-r--r--idlestat.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/idlestat.c b/idlestat.c
index 4392920..dbf8400 100644
--- a/idlestat.c
+++ b/idlestat.c
@@ -271,6 +271,7 @@ int cpuidle_get_target_residency(int cpu, int state)
char *fpath;
unsigned int tr;
FILE *snf;
+ int ret;
if (asprintf(&fpath, CPUIDLE_STATE_TARGETRESIDENCY_PATH_FORMAT,
cpu, state) < 0)
@@ -283,10 +284,10 @@ int cpuidle_get_target_residency(int cpu, int state)
free(fpath);
return -1;
}
- fscanf(snf, "%u", &tr);
+ ret = fscanf(snf, "%u", &tr);
fclose(snf);
- return tr;
+ return (ret == 1) ? tr : -1;
}
/**