diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-07-14 08:28:58 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-07-14 08:28:58 +0200 |
commit | af3a057919f6a13aa1fda8bb5eb0bbf1e859633b (patch) | |
tree | 4f319334e4e593e80d6d257c58c93309fe6fa4ed | |
parent | 1d72e1f25420ef71950fc608223bfe47277f7645 (diff) |
calib: The call to fscanf can fail and we should check the return valuezecke/work/coverity-fixes
Coverity wants us to check that fscanf has scanned the amount of
variables we want to have. Initialize the scan result to 0/0.0f
and warn if the scan has failed.
Fixes: Coverity CID 1040774, CID 1040773
-rw-r--r-- | src/osmo-bts-sysmo/calib_file.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/osmo-bts-sysmo/calib_file.c b/src/osmo-bts-sysmo/calib_file.c index 84de31fb..8098da2f 100644 --- a/src/osmo-bts-sysmo/calib_file.c +++ b/src/osmo-bts-sysmo/calib_file.c @@ -120,15 +120,25 @@ static const unsigned int arrsize_by_band[] = { static float read_float(FILE *in) { - float f; - fscanf(in, "%f\n", &f); + int rc; + float f = 0.0f; + + rc = fscanf(in, "%f\n", &f); + if (rc != 1) + LOGP(DL1C, LOGL_ERROR, + "Reading a float from calib data failed.\n"); return f; } static int read_int(FILE *in) { - int i; - fscanf(in, "%d\n", &i); + int rc; + int i = 0; + + rc = fscanf(in, "%d\n", &i); + if (rc != 1) + LOGP(DL1C, LOGL_ERROR, + "Reading an int from calib data failed.\n"); return i; } |