From: Jon Trulson Date: Sat, 27 Dec 2014 00:30:50 +0000 (-0700) Subject: dtwm/PopUpMenu: Coverity (memory corruption, moderate) X-Git-Tag: 2.2.3~66 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f05c124807bb962b946999d5b66fff1d494588d4;p=oweals%2Fcde.git dtwm/PopUpMenu: Coverity (memory corruption, moderate) --- diff --git a/cde/programs/dtwm/PopupMenu.c b/cde/programs/dtwm/PopupMenu.c index 316bb00e..81c5fca5 100644 --- a/cde/programs/dtwm/PopupMenu.c +++ b/cde/programs/dtwm/PopupMenu.c @@ -220,18 +220,19 @@ AddWorkspaceCB (Widget w, { - SwitchData * switch_data; + SwitchData * switch_data = NULL; char * switch_name; char * temp_name; int append; int i; - + int slen; /* Get the beginning part of the new name */ temp_name = FPGETMESSAGE (82, 35, "New"); - switch_name = XtMalloc (strlen (temp_name) + 5); + slen = strlen (temp_name) + 5 + 1; + switch_name = XtCalloc(1, slen); strcpy (switch_name, temp_name); @@ -265,7 +266,7 @@ AddWorkspaceCB (Widget w, if (strcmp (switch_name, switch_data->switch_names[i]) == 0) { good_name = False; - sprintf (switch_name, "%s_%d", temp_name, append); + snprintf (switch_name, slen - 1, "%s_%d", temp_name, append); continue; } }