|
From: <svn...@op...> - 2009-11-05 18:40:56
|
Author: dgollub Date: Thu Nov 5 19:40:46 2009 New Revision: 5933 URL: http://www.opensync.org/changeset/5933 Log: Sanity check for demerger. Check if the change to demerge has a reasonable size ... size > 0 This avoids that a format-plugin which isn't expecting an empty change is crashing. Instead the engine fails smoothly with an OSyncError Modified: trunk/opensync/format/opensync_merger.c Modified: trunk/opensync/format/opensync_merger.c ============================================================================== --- trunk/opensync/format/opensync_merger.c Thu Nov 5 19:38:46 2009 (r5932) +++ trunk/opensync/format/opensync_merger.c Thu Nov 5 19:40:46 2009 (r5933) @@ -120,6 +120,16 @@ osync_data_get_data(data, &buffer, &size); + if (size == 0) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "Can't demerge data with 0 size."); + goto error; + } + + if (buffer == NULL) { + osync_error_set(error, OSYNC_ERROR_GENERIC, "No data to demerge."); + goto error; + } + if (!merger->demerge_func(&buffer, &size, caps, NULL /*userdata!*/, error)) goto error; |