From: Jon Trulson Date: Fri, 26 Dec 2014 21:24:31 +0000 (-0700) Subject: dtsession: Coverity (memory corruption) X-Git-Tag: 2.2.3~89 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=07dc336b96938797303fadb830e5571b41a6e831;p=oweals%2Fcde.git dtsession: Coverity (memory corruption) --- diff --git a/cde/programs/dtsession/SmUI.c b/cde/programs/dtsession/SmUI.c index 278c612f..c92ea588 100644 --- a/cde/programs/dtsession/SmUI.c +++ b/cde/programs/dtsession/SmUI.c @@ -170,7 +170,7 @@ static Boolean saveTimeout; Widget CreateLockDialog( void ) { - int i; + int i, slen; Widget loginLabel, instructLabel, tmpLock, indFrame; Widget passwdLabel, passwdForm, picFrame, loginPic, loginFrame; Dimension width; /* width, height of login label */ @@ -279,10 +279,10 @@ CreateLockDialog( void ) */ i = 0; envLog = getenv("LOGNAME"); - lockMessage = XtMalloc(100 + strlen(envLog)); - sprintf( - lockMessage, - (char*) GETMESSAGE(18, 1, "Display locked by user %s."), envLog); + slen = 100 + strlen(envLog) + 1; + lockMessage = XtCalloc(1, slen); + snprintf(lockMessage, slen - 1, + (char*) GETMESSAGE(18, 1, "Display locked by user %s."), envLog); lockString = XmStringCreateLocalized(lockMessage); XtSetArg(uiArgs[i], XmNtopAttachment, XmATTACH_POSITION); i++; XtSetArg(uiArgs[i], XmNtopPosition, 20); i++;