Add helper to avoid possible unaligned memory access when handling uint16 value using little-endian representation. --- src/shared/util.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/shared/util.h b/src/shared/util.h index a129272..ef845ae 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -101,6 +101,11 @@ static inline void bswap_128(const void *src, void *dst) d[15 - i] = s[i]; } +static inline uint16_t get_le16(const void *ptr) +{ + return le16_to_cpu(get_unaligned((const uint16_t *) ptr)); +} + static inline void put_le16(uint16_t val, void *dst) { put_unaligned(cpu_to_le16(val), (uint16_t *) dst); -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html