From eef53a91911d8deca0b5abec03a2451ad8bcf2c9 Mon Sep 17 00:00:00 2001 From: Ram Viswanadha Date: Fri, 5 Mar 2004 01:40:43 +0000 Subject: [PATCH] ICU-3192 add string termination for :include X-SVN-Rev: 14639 --- icu4c/source/tools/toolutil/ucbuf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/icu4c/source/tools/toolutil/ucbuf.c b/icu4c/source/tools/toolutil/ucbuf.c index 3d5d868936d..5c19cef3076 100644 --- a/icu4c/source/tools/toolutil/ucbuf.c +++ b/icu4c/source/tools/toolutil/ucbuf.c @@ -301,6 +301,7 @@ ucbuf_fillucbuf( UCHARBUF* buf,UErrorCode* error){ } buf->currentPos = pTarget; buf->bufLimit=pTarget+outputWritten; + *buf->bufLimit=0; /*NUL terminate*/ if(cbuf!=carr){ uprv_free(cbuf); } @@ -483,12 +484,11 @@ ucbuf_open(const char* fileName,const char** cp,UBool showWarning, UBool buffere } buf->remaining=fileSize-buf->signatureLength; if(buf->isBuffered){ - buf->buffer=(UChar*) uprv_malloc(U_SIZEOF_UCHAR* MAX_U_BUF); buf->bufCapacity=MAX_U_BUF; }else{ - buf->buffer=(UChar*) uprv_malloc(U_SIZEOF_UCHAR * (buf->remaining+buf->signatureLength)); - buf->bufCapacity=buf->remaining+buf->signatureLength; + buf->bufCapacity=buf->remaining+buf->signatureLength+1/*for terminating nul*/; } + buf->buffer=(UChar*) uprv_malloc(U_SIZEOF_UCHAR * buf->bufCapacity ); if (buf->buffer == NULL) { *error = U_MEMORY_ALLOCATION_ERROR; return NULL;