/pidgin/main: 8f870b9011c9: Fix incorrect uses of strncpy().
Mark Doliner <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: 8f870b9011c948fb2a73fa399c9d25b4379a8807 Author: Mark Doliner <[email protected]> Date: 2014-03-01 16:58 -0800 Branch: release-2.x.y URL: https://hg.pidgin.im/pidgin/main/rev/8f870b9011c9 Description: Fix incorrect uses of strncpy(). I think these aren't actually a problem because prefix is 155 bytes and filename is 100 bytes, but that's no excuse for writing bad code. The third argument to strncpy is intended to be the size of the destination buffer--not the size of the source. We have less error-prone functions now, let's use them. diffstat: pidgin/win32/untar.c | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diffs (21 lines): diff --git a/pidgin/win32/untar.c b/pidgin/win32/untar.c --- a/pidgin/win32/untar.c +++ b/pidgin/win32/untar.c @@ -395,14 +395,12 @@ static int untar_block(Uchar_t *blk) { name = nbuf; if ((tblk)->prefix[0]) { - strncpy(name, (tblk)->prefix, sizeof (tblk)->prefix); - strcat(name, "/"); - strncat(name + strlen(name), (tblk)->filename, - sizeof (tblk)->filename); + snprintf(name, sizeof(name), "%s/%s", + (tblk)->prefix, (tblk)->filename); } else { - strncpy(name, (tblk)->filename, + g_strlcpy(name, (tblk)->filename, sizeof (tblk)->filename); }