asfcrypt: fix unaligned read in ff_asfcrypt_dec()
authorMåns Rullgård <mans@mansr.com>
Mon, 23 Aug 2010 15:38:57 +0000 (15:38 +0000)
committerMåns Rullgård <mans@mansr.com>
Mon, 23 Aug 2010 15:38:57 +0000 (15:38 +0000)
Originally committed as revision 24886 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/asfcrypt.c

index 55ad827..cb3516f 100644 (file)
@@ -156,7 +156,7 @@ void ff_asfcrypt_dec(const uint8_t key[20], uint8_t *data, int len) {
     av_rc4_crypt(&rc4, (uint8_t *)rc4buff, NULL, sizeof(rc4buff), NULL, 1);
     multiswap_init((uint8_t *)rc4buff, ms_keys);
 
-    packetkey = qwords[num_qwords - 1];
+    packetkey = AV_RN64(&qwords[num_qwords - 1]);
     packetkey ^= rc4buff[7];
     av_des_init(&des, key + 12, 64, 1);
     av_des_crypt(&des, (uint8_t *)&packetkey, (uint8_t *)&packetkey, 1, NULL, 1);