diff options
author | JP Rosevear <jpr@ximian.com> | 2001-01-16 00:01:35 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2001-01-16 00:01:35 +0800 |
commit | ff3935d0a6e4b639a070f3f980187d4774ca5da8 (patch) | |
tree | 1fe8895f7752604646b2af35f3642b1842e2407e /calendar/conduits/todo/todo-conduit.c | |
parent | 12d6acd7bcec525403136599c16808d9cbe896e4 (diff) | |
download | gsoc2013-evolution-ff3935d0a6e4b639a070f3f980187d4774ca5da8.tar.gz gsoc2013-evolution-ff3935d0a6e4b639a070f3f980187d4774ca5da8.tar.zst gsoc2013-evolution-ff3935d0a6e4b639a070f3f980187d4774ca5da8.zip |
'2001-01-15 JP Rosevear <jpr@ximian.com>
* conduit/address-conduit.c (print_local): prevent segfaults and
buffer overflows
(print_remote): ditto
2001-01-15 JP Rosevear <jpr@ximian.com>
* conduits/todo/todo-conduit.c (print_local): prevent segfaults and
buffer overflows.
(print_remote): ditto
* conduits/calendar/calendar-conduit.c: as above
svn path=/trunk/; revision=7504
Diffstat (limited to 'calendar/conduits/todo/todo-conduit.c')
-rw-r--r-- | calendar/conduits/todo/todo-conduit.c | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/calendar/conduits/todo/todo-conduit.c b/calendar/conduits/todo/todo-conduit.c index d232b88173..abc3bd498d 100644 --- a/calendar/conduits/todo/todo-conduit.c +++ b/calendar/conduits/todo/todo-conduit.c @@ -77,13 +77,18 @@ print_local (EToDoLocalRecord *local) } if (local->todo && local->todo->description) { - sprintf (buff, "[%d %ld %d %d '%s' '%s']", - local->todo->indefinite, - mktime (& local->todo->due), - local->todo->priority, - local->todo->complete, - local->todo->description, - local->todo->note); + g_snprintf (buff, 4096, "[%d %ld %d %d '%s' '%s']", + local->todo->indefinite ? + local->todo->indefinite : "", + mktime (& local->todo->due), + local->todo->priority ? + local->todo->priority : "", + local->todo->complete ? + local->todo->complete : "", + local->todo->description ? + local->todo->description : "", + local->todo->note ? + local->todo->note : ""); return buff; } @@ -103,13 +108,18 @@ static char *print_remote (GnomePilotRecord *remote) memset (&todo, 0, sizeof (struct ToDo)); unpack_ToDo (&todo, remote->record, remote->length); - sprintf (buff, "[%d %ld %d %d '%s' '%s']", - todo.indefinite, - mktime (& todo.due), - todo.priority, - todo.complete, - todo.description, - todo.note); + g_snprintf (buff, "[%d %ld %d %d '%s' '%s']", + todo.indefinite ? + todo.indefinite : "", + mktime (&todo.due), + todo.priority ? + todo.priority : "", + todo.complete ? + todo.complete : "", + todo.description ? + todo.description : "", + todo.note ? + todo.note : ""); return buff; } |