diff --git a/cde/programs/dtdocbook/instant/main.c b/cde/programs/dtdocbook/instant/main.c index a3762bded..2b479d740 100644 --- a/cde/programs/dtdocbook/instant/main.c +++ b/cde/programs/dtdocbook/instant/main.c @@ -882,11 +882,13 @@ ReadLocaleStrings(const char *file_name, int *ret_code) { i18nBuf = EscapeI18NChars(pBuf); if (i18nBuf != pBuf) { - free(pBuf); + pBuf = Tcl_Realloc(pBuf, 1 + strlen(i18nBuf)); + strcpy(pBuf, i18nBuf); + free(i18nBuf); } *ret_code = 0; - return i18nBuf; + return pBuf; } static int TclReadLocaleStrings(ClientData clientData, @@ -1093,7 +1095,7 @@ ReadESIS( char *buf, *i18nBuf; int i, c, ncont; Element_t *e; - Content_t cont[5000]; + Content_t cont[5000] = {0}; Malloc( LINESIZE+1, buf, char );