[FFmpeg-devel] [PATCH 2/2] AC3: fix strict aliasing violation in parser

Mans Rullgard mans
Sun Dec 14 21:53:18 CET 2008


---
 libavcodec/ac3_parser.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c
index aedcbcd..ccd687a 100644
--- a/libavcodec/ac3_parser.c
+++ b/libavcodec/ac3_parser.c
@@ -158,11 +158,14 @@ static int ac3_sync(uint64_t state, AACAC3ParseContext *hdr_info,
         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)
-- 
1.6.0.4





More information about the ffmpeg-devel mailing list