By the time you read this you must have just awake.

On Saturday, April 20, 2002, at 07:07 , Nick Ing-Simmons wrote:
> Near line 181 of Encode.xs (tail of main while loop):
>
>           /* settle variables when fallback */
>           dlen = SvCUR(dst);
>           d   = (U8*)SvPVX(dst) + dlen;
>           s   = (U8*)SvPVX(src) + sdone;
>           slen = tlen - sdone;
>           break;
>
> When calling do_encode() at top of loop dlen is supposed to be number
> of bytes _available_ at d, and you have it as number of bytes _used_.
> So if we have used most of it and then insert a fallback do_encode()
> will zoom off the end of the SV.
>
> I think (too late here for morning person like me to think well) that
>
>             d = (U8 *) SvEND(dst);
>             dlen = SvLEN(dst) - ddone - 1;
>
> is closer to correct ..

I changed Encode.xs accordingly and t/fallback says it is okay.  Please 
tell me if this will fix the problem you found.  With this and Autrijus 
new ucm problem resolved, I'll go ahead release 1.51.

Dan

Reply via email to