# HG changeset patch # User mru # Date 1229481026 0 # Node ID c34d5e164b229d7a8fd5d448c622a02ea24c85d0 # Parent 850b735daef8eaef718a36d466fa743a84378a25 AC3: fix strict aliasing violation in parser diff -r 850b735daef8 -r c34d5e164b22 ac3_parser.c --- a/ac3_parser.c Wed Dec 17 02:30:22 2008 +0000 +++ b/ac3_parser.c Wed Dec 17 02:30:26 2008 +0000 @@ -158,11 +158,14 @@ int *need_next_header, int *new_frame_start) { int err; - uint64_t tmp = be2me_64(state); + union { + uint64_t u64; + uint8_t u8[8]; + } tmp = { be2me_64(state) }; AC3HeaderInfo hdr; GetBitContext gbc; - init_get_bits(&gbc, ((uint8_t *)&tmp)+8-AC3_HEADER_SIZE, 54); + init_get_bits(&gbc, tmp.u8+8-AC3_HEADER_SIZE, 54); err = ff_ac3_parse_header(&gbc, &hdr); if(err < 0)