X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ffilexml.C;h=aef297e41adf822d9c697cda88a7cdb05130dbe0;hp=1da5a5e067359d0a8aae04af44f59ced9bed0a64;hb=36bd2d2bbbe534bf04307149bf6162a70c088656;hpb=21c2e6b36d6a96c2f662a89459d607b5a387f4eb diff --git a/cinelerra-5.1/cinelerra/filexml.C b/cinelerra-5.1/cinelerra/filexml.C index 1da5a5e0..aef297e4 100644 --- a/cinelerra-5.1/cinelerra/filexml.C +++ b/cinelerra-5.1/cinelerra/filexml.C @@ -76,9 +76,10 @@ XMLBuffer::~XMLBuffer() unsigned char *&XMLBuffer::demand(long len) { if( len > bsz ) { - len += BCTEXTLEN; + long sz = inp-bfr; + len += sz/2 + BCTEXTLEN; unsigned char *np = new unsigned char[len]; - if( inp > bfr ) memcpy(np,bfr,inp-bfr); + if( sz > 0 ) memcpy(np,bfr,sz); inp = np + (inp-bfr); outp = np + (outp-bfr); lmt = np + len; bsz = len;