summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/plistutil.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/plistutil.c b/tools/plistutil.c
index 6451604..e943e76 100644
--- a/tools/plistutil.c
+++ b/tools/plistutil.c
@@ -129,6 +129,12 @@ int main(int argc, char *argv[])
129 } 129 }
130 130
131 stat(options->in_file, &filestats); 131 stat(options->in_file, &filestats);
132
133 if (filestats.st_size < 8) {
134 printf("ERROR: Input file is too small to contain valid plist data.\n");
135 return -1;
136 }
137
132 plist_entire = (char *) malloc(sizeof(char) * (filestats.st_size + 1)); 138 plist_entire = (char *) malloc(sizeof(char) * (filestats.st_size + 1));
133 read_size = fread(plist_entire, sizeof(char), filestats.st_size, iplist); 139 read_size = fread(plist_entire, sizeof(char), filestats.st_size, iplist);
134 fclose(iplist); 140 fclose(iplist);