From: <mar...@us...> - 2009-11-26 20:39:28
|
Revision: 2804 http://navit.svn.sourceforge.net/navit/?rev=2804&view=rev Author: martin-s Date: 2009-11-26 20:39:20 +0000 (Thu, 26 Nov 2009) Log Message: ----------- Fix:Core:Correct attribute alloc and free Modified Paths: -------------- trunk/navit/navit/attr.c Modified: trunk/navit/navit/attr.c =================================================================== --- trunk/navit/navit/attr.c 2009-11-26 20:36:55 UTC (rev 2803) +++ trunk/navit/navit/attr.c 2009-11-26 20:39:20 UTC (rev 2804) @@ -147,7 +147,7 @@ break; default: if (attr >= attr_type_string_begin && attr <= attr_type_string_end) { - ret->u.str=(char *)value; + ret->u.str=g_strdup(value); break; } if (attr >= attr_type_int_begin && attr <= attr_type_int_end) { @@ -494,10 +494,9 @@ { if (!attr) return; - if (attr->type == attr_position_coord_geo) - g_free(attr->u.coord_geo); - if (attr->type >= attr_type_color_begin && attr->type <= attr_type_color_end) - g_free(attr->u.color); + if (!(attr->type >= attr_type_int_begin && attr->type <= attr_type_int_end) && + !(attr->type >= attr_type_object_begin && attr->type <= attr_type_object_end)) + g_free(attr->u.data); g_free(attr); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |