diff options
author | Tuukka Tikkanen <tuukka.tikkanen@linaro.org> | 2015-01-13 20:48:07 +0200 |
---|---|---|
committer | Tuukka Tikkanen <tuukka.tikkanen@linaro.org> | 2015-01-13 20:48:07 +0200 |
commit | b743a7d5ed203ed87a06dddbd27cfb3fd04ceba5 (patch) | |
tree | 07ac8db984cae41cbf7847f777741ad21bbcf313 /idlestat.c | |
parent | 9477d3598858225dfac6e1981060c8f8d078af84 (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.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -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; } /** |