Fix fread() unused return values by actually handling errors

This commit is contained in:
Nikias Bassen
2026-04-10 12:21:17 +02:00
parent f41b1ea670
commit 9dfcfe8dc2
5 changed files with 34 additions and 4 deletions
+7 -1
View File
@@ -66,7 +66,13 @@ int main(int argc, char *argv[])
stat(file_in, filestats);
size_in = filestats->st_size;
plist_bin = (char *) malloc(sizeof(char) * (size_in + 1));
fread(plist_bin, sizeof(char), size_in, iplist);
if (fread(plist_bin, sizeof(char), size_in, iplist) != (size_t)size_in) {
printf("Failed to read input file\n");
fclose(iplist);
free(plist_bin);
free(filestats);
return 3;
}
fclose(iplist);
+7 -1
View File
@@ -66,7 +66,13 @@ int main(int argc, char *argv[])
stat(file_in, filestats);
size_in = filestats->st_size;
plist_json = (char *) malloc(sizeof(char) * (size_in + 1));
fread(plist_json, sizeof(char), size_in, iplist);
if (fread(plist_json, sizeof(char), size_in, iplist) != (size_t)size_in) {
printf("Failed to read input file\n");
fclose(iplist);
free(plist_json);
free(filestats);
return 3;
}
fclose(iplist);
plist_json[size_in] = 0;
+6 -1
View File
@@ -66,7 +66,12 @@ int main(int argc, char *argv[])
stat(file_in, &filestats);
size_in = filestats.st_size;
plist_ostep = (char *) malloc(sizeof(char) * (size_in + 1));
fread(plist_ostep, sizeof(char), size_in, iplist);
if (fread(plist_ostep, sizeof(char), size_in, iplist) != (size_t)size_in) {
printf("Failed to read input file\n");
fclose(iplist);
free(plist_ostep);
return 3;
}
fclose(iplist);
plist_ostep[size_in] = 0;
+7 -1
View File
@@ -66,7 +66,13 @@ int main(int argc, char *argv[])
stat(file_in, filestats);
size_in = filestats->st_size;
plist_xml = (char *) malloc(sizeof(char) * (size_in + 1));
fread(plist_xml, sizeof(char), size_in, iplist);
if (fread(plist_xml, sizeof(char), size_in, iplist) != (size_t)size_in) {
printf("Failed to read input file\n");
fclose(iplist);
free(plist_xml);
free(filestats);
return 3;
}
fclose(iplist);
+7
View File
@@ -337,6 +337,13 @@ int main(int argc, char *argv[])
return 1;
}
read_size = fread(plist_entire, sizeof(char), filestats.st_size, iplist);
if (read_size != (size_t)filestats.st_size) {
fprintf(stderr, "ERROR: Could not read from input file '%s'\n", options->in_file);
fclose(iplist);
free(plist_entire);
free(options);
return 1;
}
plist_entire[read_size] = '\0';
fclose(iplist);
}