elm map - fix mem leak in xml parsing found by coverity
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 8 Jul 2016 07:58:05 +0000 (16:58 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 8 Jul 2016 07:59:27 +0000 (16:59 +0900)
fix CID 1352815

src/lib/elementary/elm_map.c

index 920ddef..99a2719 100644 (file)
@@ -2789,11 +2789,16 @@ _xml_route_dump_cb(void *data,
          if (!buf) return EINA_FALSE;
 
          snprintf(buf, length, "%s", value);
-         if (dump->id == ROUTE_XML_DISTANCE) dump->distance = _elm_atof(buf);
+         if (dump->id == ROUTE_XML_DISTANCE)
+           {
+              dump->distance = _elm_atof(buf);
+              free(buf);
+           }
          else if (!(dump->description) && (dump->id == ROUTE_XML_DESCRIPTION))
            dump->description = buf;
          else if (dump->id == ROUTE_XML_COORDINATES)
            dump->coordinates = buf;
+         else free(buf);
       }
       break;