From: <svn...@op...> - 2009-06-23 15:14:03
|
Author: bellmich Date: Tue Jun 23 17:13:55 2009 New Revision: 1113 URL: http://libsyncml.opensync.org/changeset/1113 Log: finalize should set all pointers to NULL after freeing their memory Modified: trunk/libsyncml/dev_inf_api/sml_dev_inf_content_type.c trunk/libsyncml/dev_inf_api/sml_dev_inf_ctcap.c trunk/libsyncml/dev_inf_api/sml_dev_inf_prop_param.c trunk/libsyncml/dev_inf_api/sml_dev_inf_property.c Modified: trunk/libsyncml/dev_inf_api/sml_dev_inf_content_type.c ============================================================================== --- trunk/libsyncml/dev_inf_api/sml_dev_inf_content_type.c Tue Jun 23 17:12:16 2009 (r1112) +++ trunk/libsyncml/dev_inf_api/sml_dev_inf_content_type.c Tue Jun 23 17:13:55 2009 (r1113) @@ -72,10 +72,14 @@ { g_return_if_fail (SML_IS_DEV_INF_CONTENT_TYPE (object)); SmlDevInfContentType *self = (SmlDevInfContentType*) object; - if (self->priv->cttype != NULL) + if (self->priv->cttype != NULL) { g_free(self->priv->cttype); - if (self->priv->verct != NULL) + self->priv->cttype = NULL; + } + if (self->priv->verct != NULL) { g_free(self->priv->verct); + self->priv->verct = NULL; + } G_OBJECT_CLASS (sml_dev_inf_content_type_parent_class)->finalize (object); } Modified: trunk/libsyncml/dev_inf_api/sml_dev_inf_ctcap.c ============================================================================== --- trunk/libsyncml/dev_inf_api/sml_dev_inf_ctcap.c Tue Jun 23 17:12:16 2009 (r1112) +++ trunk/libsyncml/dev_inf_api/sml_dev_inf_ctcap.c Tue Jun 23 17:13:55 2009 (r1113) @@ -87,6 +87,8 @@ self->priv->properties = g_list_remove(self->priv->properties, prop); g_object_unref(prop); } + /* all pointers must be NULL */ + self->priv->content_type = NULL; G_OBJECT_CLASS (sml_dev_inf_ctcap_parent_class)->finalize (object); } Modified: trunk/libsyncml/dev_inf_api/sml_dev_inf_prop_param.c ============================================================================== --- trunk/libsyncml/dev_inf_api/sml_dev_inf_prop_param.c Tue Jun 23 17:12:16 2009 (r1112) +++ trunk/libsyncml/dev_inf_api/sml_dev_inf_prop_param.c Tue Jun 23 17:13:55 2009 (r1113) @@ -105,6 +105,10 @@ self->priv->val_enums = g_list_remove(self->priv->val_enums, val_enum); g_free(val_enum); } + /* all pointers must be NULL */ + self->priv->param_name = NULL; + self->priv->data_type = NULL; + self->priv->display_name = NULL; G_OBJECT_CLASS (sml_dev_inf_prop_param_parent_class)->finalize (object); } Modified: trunk/libsyncml/dev_inf_api/sml_dev_inf_property.c ============================================================================== --- trunk/libsyncml/dev_inf_api/sml_dev_inf_property.c Tue Jun 23 17:12:16 2009 (r1112) +++ trunk/libsyncml/dev_inf_api/sml_dev_inf_property.c Tue Jun 23 17:13:55 2009 (r1113) @@ -150,6 +150,10 @@ self->priv->params = g_list_remove(self->priv->params, param); g_object_unref(param); } + /* all pointers must be NULL */ + self->priv->prop_name = NULL; + self->priv->data_type = NULL; + self->priv->display_name = NULL; G_OBJECT_CLASS (sml_dev_inf_property_parent_class)->finalize (object); } |