We've encountered random crash while running "swfdump -a" on a Windows 
platform. The problem could be nailed down to the OpAdvance function inside 
lib/modules/swfaction.c, i t's seems like the wrong endianness was used to 
extract the number of parameters and codesize. Attached, you'll find a patch 
that fixes this. 


Matthias Kramm: is it possible to apply this patch and to put a new release 
build for Windows and Linux in the download section? Many thanks. 


Kind regards, 
Wouter 
From c9f9ef4c864dbbfe6d8f3c568bcc32adc560f2ed Mon Sep 17 00:00:00 2001
From: Wouter Huysentruit <[email protected]>
Date: Tue, 26 Mar 2013 17:14:25 +0100
Subject: [PATCH] fixed endian bug (caused random crashes when using swfdump
 with -a option)

---
 lib/modules/swfaction.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/modules/swfaction.c b/lib/modules/swfaction.c
index 3d701bb..bd248ec 100644
--- a/lib/modules/swfaction.c
+++ b/lib/modules/swfaction.c
@@ -281,12 +281,12 @@ int OpAdvance(char c, U8*data)
 	    U8* odata = data;
 	    int t;
 	    while(*data++); //name
-	    num = (*data++)*256; //num
-	    num += (*data++);
+	    num = (*data++); //num
+	    num += (*data++)*256;
 	    for(t=0;t<num;t++)
 		while(*data++); //param
-	    codesize = (*data++)*256; //num
-	    codesize += (*data++);
+	    codesize = (*data++); //num
+	    codesize += (*data++)*256;
 	    return data-odata;
 	}
     }
-- 
1.8.0.msysgit.0

---------------
SWFTools-common is a self-managed list. To subscribe/unsubscribe, or amend an 
existing subscription, please kindly point your favourite web browser 
at:<http://lists.nongnu.org/mailman/listinfo/swftools-common>

Reply via email to