elm map - fix incorrect return check of fread
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 10 Jan 2014 07:52:44 +0000 (16:52 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 10 Jan 2014 07:52:44 +0000 (16:52 +0900)
this fixes CID 1132736 (real bug)

src/lib/elm_map.c

index 67aa3d9..8b1f2c7 100644 (file)
@@ -2896,7 +2896,7 @@ _name_parse(Elm_Map_Name *n)
    f = fopen(n->fname, "rb");
    if (f)
      {
-        long sz;
+        unsigned long sz;
 
         fseek(f, 0, SEEK_END);
         sz = ftell(f);
@@ -2907,7 +2907,7 @@ _name_parse(Elm_Map_Name *n)
                {
                   memset(buf, 0, sz + 1);
                   rewind(f);
-                  if (fread(buf, 1, sz, f))
+                  if (fread(buf, 1, sz, f) == sz)
                     {
                        eina_simple_xml_parse
                          (buf, sz, EINA_TRUE, _xml_name_dump_cb, &dump);