diff options
| -rw-r--r-- | tools/plistutil.c | 6 | 
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[])      }      stat(options->in_file, &filestats); + +    if (filestats.st_size < 8) { +        printf("ERROR: Input file is too small to contain valid plist data.\n"); +        return -1; +    } +      plist_entire = (char *) malloc(sizeof(char) * (filestats.st_size + 1));      read_size = fread(plist_entire, sizeof(char), filestats.st_size, iplist);      fclose(iplist);  | 
