Fix issues found by Coverity, closes #206.

This commit is contained in:
Ahsan Fayaz
2020-07-17 18:55:00 +01:00
parent f6c68cd6de
commit 510a0a6ae2
3 changed files with 36 additions and 20 deletions

View File

@ -122,22 +122,29 @@ const char *get_gov_state(void)
long length = ftell(f);
fseek(f, 0, SEEK_SET);
char contents[length];
if (length == -1)
{
LOG_ERROR("Failed to seek file %s\n", gov);
}
else
{
char contents[length];
if (fread(contents, 1, (size_t)length, f) > 0) {
/* Files have a newline */
strtok(contents, "\n");
if (strlen(governor) > 0 && strncmp(governor, contents, 64) != 0) {
/* Don't handle the mixed case, this shouldn't ever happen
* But it is a clear sign we shouldn't carry on */
LOG_ERROR("Governors malformed: got \"%s\", expected \"%s\"", contents, governor);
fclose(f);
return "malformed";
if (fread(contents, 1, (size_t)length, f) > 0) {
/* Files have a newline */
strtok(contents, "\n");
if (strlen(governor) > 0 && strncmp(governor, contents, 64) != 0) {
/* Don't handle the mixed case, this shouldn't ever happen
* But it is a clear sign we shouldn't carry on */
LOG_ERROR("Governors malformed: got \"%s\", expected \"%s\"", contents, governor);
fclose(f);
return "malformed";
}
strncpy(governor, contents, sizeof(governor) - 1);
} else {
LOG_ERROR("Failed to read contents of %s\n", gov);
}
strncpy(governor, contents, sizeof(governor) - 1);
} else {
LOG_ERROR("Failed to read contents of %s\n", gov);
}
fclose(f);