diff options
Diffstat (limited to 'indra/lscript/lscript_execute/lscript_execute.cpp')
-rw-r--r-- | indra/lscript/lscript_execute/lscript_execute.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/indra/lscript/lscript_execute/lscript_execute.cpp b/indra/lscript/lscript_execute/lscript_execute.cpp index 196ca07d1d..b166e922a2 100644 --- a/indra/lscript/lscript_execute/lscript_execute.cpp +++ b/indra/lscript/lscript_execute/lscript_execute.cpp @@ -43,11 +43,19 @@ LLScriptExecute::LLScriptExecute(FILE *fp) U8 sizearray[4]; S32 filesize; S32 pos = 0; - fread(&sizearray, 1, 4, fp); - filesize = bytestream2integer(sizearray, pos); + if (fread(&sizearray, 1, 4, fp) != 4) + { + llwarns << "Short read" << llendl; + filesize = 0; + } else { + filesize = bytestream2integer(sizearray, pos); + } mBuffer = new U8[filesize]; fseek(fp, 0, SEEK_SET); - fread(mBuffer, 1, filesize, fp); + if (fread(mBuffer, 1, filesize, fp) != filesize) + { + llwarns << "Short read" << llendl; + } fclose(fp); init(); |