Date: Wed, 02 Sep 2015 11:21:29 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 202832] [PATCH] r391392 broke mail/sylpheed on platforms were time_t is 64 bit long Message-ID: <bug-202832-13@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202832 Bug ID: 202832 Summary: [PATCH] r391392 broke mail/sylpheed on platforms were time_t is 64 bit long Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Keywords: patch Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: ehaupt@FreeBSD.org Reporter: yamagi@yamagi.org Assignee: ehaupt@FreeBSD.org Flags: maintainer-feedback?(ehaupt@FreeBSD.org) Keywords: patch Created attachment 160630 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=160630&action=edit Updated patch to fix breakage on platforms with a 64 bit time_t Hello, r391392 / PR 200053 added a patch to mail/sylpheed which fixes SIGBUS errors on ARM. That patch is wrong, it leads to data corruption on platforms where time_t is 64 bit long: - The macro in procmsg.c:194 is called to read the date header of a message: READ_CACHE_DATA_INT(msginfo->date_t); - msginfo->date_t is a time_t. - When time_t is 32 bit long everything's okay. But when it's a 64 bit value, the memcpy() copies only 32 bit from p to n aka msginfo->date_t aka time_t leaving the upper or (on big endian) lower 32 bits undefined. Attached is an updated patch developed by Christoph Mallon <christoph.mallon@gmx.de> that solves this issue. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-202832-13>