From 83f7c791cb0bed79c8aa943d669a6111a0635421 Mon Sep 17 00:00:00 2001 From: Matthias Kramm Date: Mon, 26 Jan 2009 14:09:31 +0100 Subject: [PATCH] fixed jpeg extraction for flash 9 swfs --- src/swfextract.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/swfextract.c b/src/swfextract.c index f66dd83..3550731 100644 --- a/src/swfextract.c +++ b/src/swfextract.c @@ -675,13 +675,17 @@ void handlejpeg(TAG*tag) else if(tag->id == ST_DEFINEBITSJPEG3 && tag->len>6) { U32 end = GET32(&tag->data[2])+6; int pos = findjpegboundary(&tag->data[6], tag->len-6); - if(pos<0) - return; - pos+=6; - fi = save_fopen(filename, "wb"); - fwrite(&tag->data[6], pos-6, 1, fi); - fwrite(&tag->data[pos+4], end-(pos+4), 1, fi); - fclose(fi); + if(pos<0) { + fi = save_fopen(filename, "wb"); + fwrite(&tag->data[6], end-6, 1, fi); + fclose(fi); + } else { + pos+=6; + fi = save_fopen(filename, "wb"); + fwrite(&tag->data[6], pos-6, 1, fi); + fwrite(&tag->data[pos+4], end-(pos+4), 1, fi); + fclose(fi); + } } else { int id = GET16(tag->data); -- 1.7.10.4