From: <svn...@op...> - 2010-01-23 17:33:32
|
Author: dgollub Date: Sat Jan 23 18:33:22 2010 New Revision: 6021 URL: http://www.opensync.org/changeset/6021 Log: Avoid string-pointer NULL dereference in TRACE_ENTRY calls in opensync_client_proxy.c This might be often the case, since main-sinks are identified by objtype = NULL. This got spotted by scriptor. Extended patch, by using __NULLSTR() macro a fixed all other TRACE_ENTRY places where a string got used. fixes #1204 Modified: trunk/opensync/client/opensync_client_proxy.c Modified: trunk/opensync/client/opensync_client_proxy.c ============================================================================== --- trunk/opensync/client/opensync_client_proxy.c Sat Jan 23 17:58:40 2010 (r6020) +++ trunk/opensync/client/opensync_client_proxy.c Sat Jan 23 18:33:22 2010 (r6021) @@ -1003,7 +1003,7 @@ char *writefd = NULL; char *name = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %i, %s, %s, %p)", __func__, proxy, type, path, __NULLSTR(external_command), error); + osync_trace(TRACE_ENTRY, "%s(%p, %i, %s, %s, %p)", __func__, proxy, type, __NULLSTR(path), __NULLSTR(external_command), error); osync_assert(proxy); osync_assert(type != OSYNC_START_TYPE_UNKNOWN); @@ -1284,7 +1284,7 @@ long long int memberid = 0; #endif - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %s, %s, %s, %s, %p, %p)", __func__, proxy, callback, userdata, formatdir, plugindir, plugin, groupname, configdir, config, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %s, %s, %s, %s, %p, %p)", __func__, proxy, callback, userdata, __NULLSTR(formatdir), __NULLSTR(plugindir), __NULLSTR(plugin), __NULLSTR(groupname), __NULLSTR(configdir), config, error); osync_assert(proxy); @@ -1520,7 +1520,7 @@ OSyncObjTypeSink *sink = NULL; OSyncMessage *message = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %i, %p)", __func__, proxy, callback, userdata, objtype, slowsync, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %i, %p)", __func__, proxy, callback, userdata, __NULLSTR(objtype), slowsync, error); timeout = OSYNC_CLIENT_PROXY_TIMEOUT_CONNECT; @@ -1572,7 +1572,7 @@ OSyncObjTypeSink *sink = NULL; OSyncMessage *message = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %p)", __func__, proxy, callback, userdata, objtype, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %p)", __func__, proxy, callback, userdata, __NULLSTR(objtype), error); osync_assert(proxy); timeout = OSYNC_CLIENT_PROXY_TIMEOUT_CONNECTDONE; @@ -1625,7 +1625,7 @@ OSyncObjTypeSink *sink = NULL; OSyncMessage *message = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %p)", __func__, proxy, callback, userdata, objtype, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %p)", __func__, proxy, callback, userdata, __NULLSTR(objtype), error); timeout = OSYNC_CLIENT_PROXY_TIMEOUT_DISCONNECT; @@ -1723,7 +1723,7 @@ OSyncObjTypeSink *sink = NULL; OSyncMessage *message = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %i, %p)", __func__, proxy, callback, userdata, objtype, slowsync, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %i, %p)", __func__, proxy, callback, userdata, __NULLSTR(objtype), slowsync, error); timeout = OSYNC_CLIENT_PROXY_TIMEOUT_GETCHANGES; @@ -1826,7 +1826,7 @@ OSyncObjTypeSink *sink = NULL; OSyncMessage *message = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %p)", __func__, proxy, callback, userdata, objtype, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %p)", __func__, proxy, callback, userdata, __NULLSTR(objtype), error); osync_assert(proxy); timeout = OSYNC_CLIENT_PROXY_TIMEOUT_COMMITTEDALL; @@ -1878,7 +1878,7 @@ OSyncObjTypeSink *sink = NULL; OSyncMessage *message = NULL; - osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %p)", __func__, proxy, callback, userdata, objtype, error); + osync_trace(TRACE_ENTRY, "%s(%p, %p, %p, %s, %p)", __func__, proxy, callback, userdata, __NULLSTR(objtype), error); osync_assert(proxy); timeout = OSYNC_CLIENT_PROXY_TIMEOUT_SYNCDONE; |