diff options
author | Alexey Yakovenko <waker@users.sourceforge.net> | 2013-09-01 20:24:10 +0200 |
---|---|---|
committer | Alexey Yakovenko <waker@users.sourceforge.net> | 2013-09-01 22:08:06 +0200 |
commit | 2d87d0874b915ab4e972a41adb629cd489bee723 (patch) | |
tree | a76cc9e0216a5b600598494a652785d41f00ec69 /plugins/mms/libmms | |
parent | 2512f5aa7236257f8a0d7d718ece54d16c44b9f5 (diff) |
fixed mms crash on unaligned memory access
Diffstat (limited to 'plugins/mms/libmms')
-rw-r--r-- | plugins/mms/libmms/bswap.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/mms/libmms/bswap.h b/plugins/mms/libmms/bswap.h index b9be433d..0761dcf6 100644 --- a/plugins/mms/libmms/bswap.h +++ b/plugins/mms/libmms/bswap.h @@ -287,7 +287,7 @@ #define LE_32(val) (GINT32_FROM_LE (*((u_int32_t*)(val)))) #define BE_32(val) (GINT32_FROM_BE (*((u_int32_t*)(val)))) -#define LE_64(val) (GINT64_FROM_LE (*((u_int64_t*)(val)))) -#define BE_64(val) (GINT64_FROM_BE (*((u_int64_t*)(val)))) +#define LE_64(val) ({u_int64_t v; memcpy (&v, (val), sizeof (v)); GINT64_FROM_LE (v);}) +#define BE_64(val) ({u_int64_t v; memcpy (&v, (val), sizeof (v)); GINT64_FROM_BE (v);}) #endif /* BSWAP_H_INCLUDED */ |