diff qdm2.c @ 12412:b31e6ace12f6 libavcodec

Fix undefined expressions that use multiple calls to get_bits(). Because the order of evaluation of subexpressions is undefined, two get_bits() calls may not be part of the same expression. See also r24902.
author alexc
date Tue, 24 Aug 2010 16:10:25 +0000
parents c69dd071f7d4
children
line wrap: on
line diff
--- a/qdm2.c	Tue Aug 24 15:40:57 2010 +0000
+++ b/qdm2.c	Tue Aug 24 16:10:25 2010 +0000
@@ -1209,7 +1209,8 @@
     init_get_bits(&gb, header.data, header.size*8);
 
     if (header.type == 2 || header.type == 4 || header.type == 5) {
-        int csum = 257 * get_bits(&gb, 8) + 2 * get_bits(&gb, 8);
+        int csum  = 257 * get_bits(&gb, 8);
+            csum +=   2 * get_bits(&gb, 8);
 
         csum = qdm2_packet_checksum(q->compressed_data, q->checksum_size, csum);