From: <svn...@op...> - 2009-09-27 05:49:34
|
Author: cdfrey Date: Sun Sep 27 07:49:22 2009 New Revision: 5855 URL: http://www.opensync.org/changeset/5855 Log: opensync_group.c: fixed missing error checking of sscanf() Modified: trunk/opensync/group/opensync_group.c Modified: trunk/opensync/group/opensync_group.c ============================================================================== --- trunk/opensync/group/opensync_group.c Sun Sep 27 07:01:09 2009 (r5854) +++ trunk/opensync/group/opensync_group.c Sun Sep 27 07:49:22 2009 (r5855) @@ -1062,7 +1062,12 @@ if (!version_str) goto end; - sscanf((const char *) version_str, "%u.%u", &version_major, &version_minor); + if (sscanf((const char *) version_str, "%u.%u", &version_major, &version_minor) != 2) { + /* unparsable version string, can't compare versions, + assume update is required */ + osync_trace(TRACE_ERROR, "%s: cannot parse version string: %s", __func__, version_str); + goto end; + } osync_trace(TRACE_INTERNAL, "Version: %s (current %u.%u required %u.%u)", version_str, version_major, version_minor, |