summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-08-13 20:57:33 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-08-13 20:57:33 +0900
commit72f1a2600b97d4c3585ab647b1db43cce3e25081 (patch)
tree9fcc145cdb464390865e63bf4d8b88d8fdebb212
parentdad62cc3238f1757ec2f6e7233cb3b50757b73ea (diff)
downloadefl-72f1a2600b97d4c3585ab647b1db43cce3e25081.tar.gz
evas 3d - fix error handling for ftell from coverity
coverity was right again - CID 1222453 - fix.
-rw-r--r--src/lib/evas/canvas/evas_3d_mesh_loader_obj.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_3d_mesh_loader_obj.c b/src/lib/evas/canvas/evas_3d_mesh_loader_obj.c
index 62eec5e761..c6733a7c3a 100644
--- a/src/lib/evas/canvas/evas_3d_mesh_loader_obj.c
+++ b/src/lib/evas/canvas/evas_3d_mesh_loader_obj.c
@@ -49,6 +49,11 @@ _file_to_buf(const char *file, long *length)//prepare text file for reading
if (!file_for_print) return NULL;
fseek(file_for_print, 0, SEEK_END);//set file_for_print to the end of file
*length = ftell(file_for_print);//set current position of file_for_print
+ if (*length < 0)
+ {
+ fclose(file_for_print);
+ return NULL;
+ }
buf = malloc(*length + 1);
fseek(file_for_print, 0, SEEK_SET);//set file_for_print to the begining of file
unused = fread(buf, *length, 1, file_for_print);