From 12f2fb1f106eb6980c20e785947ce5619884118d Mon Sep 17 00:00:00 2001 From: Liang Chang Date: Fri, 1 Jan 2021 03:07:37 +0800 Subject: [PATCH] dtdocbook: fix a segmentation fault. --- cde/programs/dtdocbook/instant/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 );