summaryrefslogtreecommitdiff
path: root/indra/lscript/lscript_execute/lscript_execute.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/lscript/lscript_execute/lscript_execute.cpp')
-rw-r--r--indra/lscript/lscript_execute/lscript_execute.cpp14
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();