flashrom: Check return value of fscanf()/fwrite()/fread()

Fix build error on distros with warn_unused_result attributes in glibc.

Signed-off-by: Peter Stuge <peter@stuge.se>
Acked-by: Yul Rottmann <yulrottmann@bitel.net>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3857 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Peter Stuge 2009-01-12 21:00:35 +00:00
parent 6ef8e0f3e3
commit 475ac26a9b
2 changed files with 15 additions and 9 deletions

View File

@ -296,7 +296,7 @@ void print_version(void)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
uint8_t *buf; uint8_t *buf;
unsigned long size; unsigned long size, numbytes;
uint32_t erasedbytes; uint32_t erasedbytes;
FILE *image; FILE *image;
/* Probe for up to three flash chips. */ /* Probe for up to three flash chips. */
@ -517,11 +517,11 @@ int main(int argc, char *argv[])
exclude_end_position - exclude_end_position -
exclude_start_position); exclude_start_position);
fwrite(buf, sizeof(char), size, image); numbytes = fwrite(buf, 1, size, image);
fclose(image); fclose(image);
printf("done.\n"); printf("%s.\n", numbytes == size ? "done" : "FAILED");
free(buf); free(buf);
exit(0); return numbytes != size;
} }
// FIXME: flash writes stay enabled! // FIXME: flash writes stay enabled!
exit(1); exit(1);
@ -615,9 +615,11 @@ int main(int argc, char *argv[])
memset(buf + exclude_start_position, 0, memset(buf + exclude_start_position, 0,
exclude_end_position - exclude_start_position); exclude_end_position - exclude_start_position);
fwrite(buf, sizeof(char), size, image); numbytes = fwrite(buf, 1, size, image);
fclose(image); fclose(image);
printf("done.\n"); printf("%s.\n", numbytes == size ? "done" : "FAILED");
if (numbytes != size)
return 1;
} else { } else {
struct stat image_stat; struct stat image_stat;
@ -634,9 +636,13 @@ int main(int argc, char *argv[])
exit(1); exit(1);
} }
fread(buf, sizeof(char), size, image); numbytes = fread(buf, 1, size, image);
show_id(buf, size, force); show_id(buf, size, force);
fclose(image); fclose(image);
if (numbytes != size) {
fprintf(stderr, "Error: Failed to read file. Got %ld bytes, wanted %ld!\n", numbytes, size);
return 1;
}
} }
/* exclude range stuff. Nice idea, but at the moment it is only /* exclude range stuff. Nice idea, but at the moment it is only

View File

@ -146,8 +146,8 @@ int read_romlayout(char *name)
while (!feof(romlayout)) { while (!feof(romlayout)) {
char *tstr1, *tstr2; char *tstr1, *tstr2;
fscanf(romlayout, "%s %s\n", tempstr, if (2 != fscanf(romlayout, "%s %s\n", tempstr, rom_entries[romimages].name))
rom_entries[romimages].name); continue;
#if 0 #if 0
// fscanf does not like arbitrary comments like that :( later // fscanf does not like arbitrary comments like that :( later
if (tempstr[0] == '#') { if (tempstr[0] == '#') {