X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Frfxswf.c;h=605e63016f0831777d950ae29a1341fac62fc2d8;hb=a05dff1a071e82d3817eddb45972900b3076997a;hp=f40d71989e604fae1b2e305c16465e4b9d46dfa3;hpb=b3393ea6b04c1033e12b1738b5e2e930213e1ded;p=swftools.git diff --git a/lib/rfxswf.c b/lib/rfxswf.c index f40d719..605e630 100644 --- a/lib/rfxswf.c +++ b/lib/rfxswf.c @@ -354,6 +354,10 @@ int swf_SetMatrix(TAG * t,MATRIX * m) { swf_SetBits(t,1,1); nbits = swf_CountBits(m->sx,0); nbits = swf_CountBits(m->sy,nbits); + if(nbits>=32) { + fprintf(stderr,"rfxswf: Error: matrix values too large\n"); + nbits = 31; + } swf_SetBits(t,nbits,5); swf_SetBits(t,m->sx,nbits); swf_SetBits(t,m->sy,nbits); @@ -364,6 +368,10 @@ int swf_SetMatrix(TAG * t,MATRIX * m) { swf_SetBits(t,1,1); nbits = swf_CountBits(m->r0,0); nbits = swf_CountBits(m->r1,nbits); + if(nbits>=32) { + fprintf(stderr,"rfxswf: Error: matrix values too large\n"); + nbits = 31; + } swf_SetBits(t,nbits,5); swf_SetBits(t,m->r0,nbits); swf_SetBits(t,m->r1,nbits); @@ -371,6 +379,10 @@ int swf_SetMatrix(TAG * t,MATRIX * m) nbits = swf_CountBits(m->tx,0); nbits = swf_CountBits(m->ty,nbits); + if(nbits>=32) { + fprintf(stderr,"rfxswf: Error: matrix values too large\n"); + nbits = 31; + } swf_SetBits(t,nbits,5); swf_SetBits(t,m->tx,nbits); swf_SetBits(t,m->ty,nbits);