summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/plist_btest.c8
-rw-r--r--test/plist_jtest.c8
-rw-r--r--test/plist_otest.c7
-rw-r--r--test/plist_test.c8
-rw-r--r--tools/plistutil.c7
5 files changed, 34 insertions, 4 deletions
diff --git a/test/plist_btest.c b/test/plist_btest.c
index 0f2c1c8..32ba364 100644
--- a/test/plist_btest.c
+++ b/test/plist_btest.c
@@ -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);
diff --git a/test/plist_jtest.c b/test/plist_jtest.c
index 130e3c7..570886d 100644
--- a/test/plist_jtest.c
+++ b/test/plist_jtest.c
@@ -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;
diff --git a/test/plist_otest.c b/test/plist_otest.c
index 14168f8..b2d1c94 100644
--- a/test/plist_otest.c
+++ b/test/plist_otest.c
@@ -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;
diff --git a/test/plist_test.c b/test/plist_test.c
index 6e3947a..6e94c57 100644
--- a/test/plist_test.c
+++ b/test/plist_test.c
@@ -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);
diff --git a/tools/plistutil.c b/tools/plistutil.c
index 95ec254..37bb044 100644
--- a/tools/plistutil.c
+++ b/tools/plistutil.c
@@ -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);
}