From: <svn...@op...> - 2010-01-10 18:38:15
|
Author: dgollub Date: Sun Jan 10 19:38:05 2010 New Revision: 5997 URL: http://www.opensync.org/changeset/5997 Log: Avoid assert() if no mapping entry got found. This patch is orignally from scriptor, slightly adapted by dgollub. fixes #1093 Modified: trunk/opensync/engine/opensync_mapping_engine.c Modified: trunk/opensync/engine/opensync_mapping_engine.c ============================================================================== --- trunk/opensync/engine/opensync_mapping_engine.c Sun Jan 10 19:27:36 2010 (r5996) +++ trunk/opensync/engine/opensync_mapping_engine.c Sun Jan 10 19:38:05 2010 (r5997) @@ -599,6 +599,11 @@ osync_trace(TRACE_ENTRY, "%s(%p, %p)", __func__, engine, change); entry = _osync_mapping_engine_find_entry(engine, change); + if (!entry) { + osync_trace(TRACE_ERROR, "%s(): ERROR: _osync_mapping_engine_find_entry() didn't find any entry. engine = %p, change = %p", __func__, engine, change); + osync_error_set(error, OSYNC_ERROR_GENERIC, "Couldn't find mapping entry for change \"%s\"", osync_change_get_uid(change)); + goto error; + } engine->conflict = FALSE; osync_mapping_engine_set_master(engine, entry); osync_status_update_mapping(engine->parent->parent, engine, OSYNC_ENGINE_MAPPING_EVENT_SOLVED, NULL); |