From f05c124807bb962b946999d5b66fff1d494588d4 Mon Sep 17 00:00:00 2001 From: Jon Trulson Date: Fri, 26 Dec 2014 17:30:50 -0700 Subject: [PATCH] dtwm/PopUpMenu: Coverity (memory corruption, moderate) --- cde/programs/dtwm/PopupMenu.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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; } } -- 2.25.1