diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2016-12-04 15:13:49 -0800 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2016-12-05 18:23:49 +0100 |
commit | 84b530a732b12cca1cd5ee9ba163b7ead7a83de3 (patch) | |
tree | e4172db5b1f48328c118f3509fb50ad0641c3318 | |
parent | 94a5b0ad8d53f024f036c3526b48c34ebbd66a2f (diff) | |
download | fstools-84b530a732b12cca1cd5ee9ba163b7ead7a83de3.tar.gz |
libfstools: Check return values for fread and system
libfstools/rootdisk.c: In function 'rootdisk_volume_identify':
libfstools/rootdisk.c:172:7: error: ignoring return value of 'fread', declared with attribute warn_unused_result [-Werror=unused-result]
fread(&magic, sizeof(magic), 1, f);
^
libfstools/rootdisk.c:179:7: error: ignoring return value of 'fread', declared with attribute warn_unused_result [-Werror=unused-result]
fread(&magic, sizeof(magic), 1, f);
^
libfstools/rootdisk.c: In function 'rootdisk_volume_init':
libfstools/rootdisk.c:268:9: error: ignoring return value of 'system', declared with attribute warn_unused_result [-Werror=unused-result]
system(str);
^
cc1: all warnings being treated as errors
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-rw-r--r-- | libfstools/rootdisk.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libfstools/rootdisk.c b/libfstools/rootdisk.c index d4ff201..9a5892e 100644 --- a/libfstools/rootdisk.c +++ b/libfstools/rootdisk.c @@ -162,6 +162,7 @@ static int rootdisk_volume_identify(struct volume *v) struct rootdev_volume *p = container_of(v, struct rootdev_volume, v); int ret = FS_NONE; uint32_t magic = 0; + size_t n; FILE *f; f = fopen(rootdev, "r"); @@ -169,14 +170,18 @@ static int rootdisk_volume_identify(struct volume *v) return ret; fseeko(f, p->offset + 0x400, SEEK_SET); - fread(&magic, sizeof(magic), 1, f); + n = fread(&magic, sizeof(magic), 1, f); + if (n != 1) + return -1; if (magic == cpu_to_le32(0xF2F52010)) ret = FS_F2FS; magic = 0; fseeko(f, p->offset + 0x438, SEEK_SET); - fread(&magic, sizeof(magic), 1, f); + n = fread(&magic, sizeof(magic), 1, f); + if (n != 1) + return -1; if ((le32_to_cpu(magic) & 0xffff) == 0xef53) ret = FS_EXT4; @@ -251,6 +256,7 @@ static int rootdisk_volume_init(struct volume *v) { struct rootdev_volume *p = container_of(v, struct rootdev_volume, v); char str[128]; + int ret = 0; if (!p->loop_name[0] && rootdisk_create_loop(p) != 0) return -1; @@ -265,12 +271,12 @@ static int rootdisk_volume_init(struct volume *v) snprintf(str, sizeof(str), "mkfs.f2fs -l rootfs_data %s", v->blk); else snprintf(str, sizeof(str), "mkfs.ext4 -L rootfs_data %s", v->blk); - system(str); + ret = system(str); break; default: break; } - return 0; + return ret; } static struct driver rootdisk_driver = { |