From: <dg...@su...> - 2009-01-20 12:40:56
|
Author: savago Date: Tue Jan 20 12:43:51 2009 New Revision: 5205 URL: http://www.opensync.org/changeset/5205 Log: Since I changed the conversion path to create each change informed on get_changes, I got to copy the contents of converted google-data XML for each change (since it will have a pointer to this string). This fixes a double-free condition. Finally, I updated the type of each sink to reflect the change r5191. Modified: plugins/google-calendar/src/gcalendar.c Modified: plugins/google-calendar/src/gcalendar.c ============================================================================== --- plugins/google-calendar/src/gcalendar.c Mon Jan 19 23:39:30 2009 (r5204) +++ plugins/google-calendar/src/gcalendar.c Tue Jan 20 12:43:51 2009 (r5205) @@ -290,7 +290,7 @@ goto error; raw_xml = plgdata->xslt_ctx_gcal->xml_str; - odata = osync_data_new(raw_xml, + odata = osync_data_new(strdup(raw_xml), strlen(raw_xml), plgdata->gcal_format, &error); if (!odata) @@ -442,7 +442,7 @@ goto error; raw_xml = plgdata->xslt_ctx_gcont->xml_str; - odata = osync_data_new(raw_xml, + odata = osync_data_new(strdup(raw_xml), strlen(raw_xml), plgdata->gcont_format, &error); if (!odata) @@ -847,7 +847,7 @@ if (plgdata->calendar) { osync_trace(TRACE_INTERNAL, "\tcreating calendar sink...\n"); OSyncFormatEnv *formatenv1 = osync_plugin_info_get_format_env(info); - plgdata->gcal_format = osync_format_env_find_objformat(formatenv1, "xmlformat-event"); + plgdata->gcal_format = osync_format_env_find_objformat(formatenv1, "xmlformat-event-doc"); if (!plgdata->gcal_format) { osync_trace(TRACE_ERROR, "%s", "Failed to find objformat xmlformat-event!"); goto error_freeplg; @@ -877,7 +877,7 @@ if (plgdata->contacts) { osync_trace(TRACE_INTERNAL, "\tcreating contact sink...\n"); OSyncFormatEnv *formatenv2 = osync_plugin_info_get_format_env(info); - plgdata->gcont_format = osync_format_env_find_objformat(formatenv2, "xmlformat-contact"); + plgdata->gcont_format = osync_format_env_find_objformat(formatenv2, "xmlformat-contact-doc"); if (!plgdata->gcont_format) { osync_trace(TRACE_ERROR, "%s", "Failed to find objformat xmlformat-contact!"); goto error_freeplg; |