From: Jan Engelhardt Date: Wed, 26 Mar 2008 06:15:03 +0000 (+0100) Subject: ipp2p: guard against potential unaligned access X-Git-Tag: v1.5.4~7^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0712d0fdcab2077065f2b57f4cdbaa8f04d07df4;p=thirdparty%2Fxtables-addons.git ipp2p: guard against potential unaligned access get_u16() and get_u32() may get passed unaligned pointers; let's play it safe. --- diff --git a/extensions/xt_ipp2p.c b/extensions/xt_ipp2p.c index ae8a239..c4c2eea 100644 --- a/extensions/xt_ipp2p.c +++ b/extensions/xt_ipp2p.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "xt_ipp2p.h" #include "compat_xtables.h" @@ -10,9 +11,9 @@ //#define IPP2P_DEBUG_SOUL //#define IPP2P_DEBUG_WINMX -#define get_u8(X, O) (*(__u8 *)(X + O)) -#define get_u16(X, O) (*(__u16 *)(X + O)) -#define get_u32(X, O) (*(__u32 *)(X + O)) +#define get_u8(X, O) (*(__u8 *)(X + O)) +#define get_u16(X, O) get_unaligned((__u16 *)(X + O)) +#define get_u32(X, O) get_unaligned((__u32 *)(X + O)) MODULE_AUTHOR("Eicke Friedrich/Klaus Degner "); MODULE_DESCRIPTION("An extension to iptables to identify P2P traffic.");