X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fmodules%2Fswftools.c;h=6baecd105477ed01f1b4bf1192854fc2dfc2dc61;hb=3d73649bf0e39778e715a07da902d0a858065a43;hp=7b1cae1eedcac4c4e066eec29e6b2ae5a1297dc9;hpb=1233dfe1f22d9f14584e3811d480a97c6a89d4ff;p=swftools.git diff --git a/lib/modules/swftools.c b/lib/modules/swftools.c index 7b1cae1..6baecd1 100644 --- a/lib/modules/swftools.c +++ b/lib/modules/swftools.c @@ -584,10 +584,13 @@ void enumerateUsedIDs(TAG * tag, int base, void (*callback)(TAG*, int, void*), v case ST_DEFINEBUTTONSOUND: { int t; callback(tag, tag->pos + base, callback_data); + swf_GetU16(tag); //button id for(t=0;t<4;t++) { int flags; callback(tag, tag->pos + base, callback_data); - swf_GetU16(tag); //sound id + U16 sound_id = swf_GetU16(tag); //sound id + if(!sound_id) + continue; flags = swf_GetU8(tag); if(flags&1) swf_GetU32(tag); // in point @@ -643,7 +646,6 @@ void enumerateUsedIDs(TAG * tag, int base, void (*callback)(TAG*, int, void*), v case ST_FREECHARACTER: /* unusual tags, which all start with an ID */ case ST_NAMECHARACTER: - case ST_DEFINEBINARY: case ST_DEFINEFONTNAME: case ST_GENERATORTEXT: callback(tag, tag->pos + base, callback_data);