dtwm/PopUpMenu: Coverity (memory corruption, moderate)
authorJon Trulson <jon@radscan.com>
Sat, 27 Dec 2014 00:30:50 +0000 (17:30 -0700)
committerJon Trulson <jon@radscan.com>
Sat, 27 Dec 2014 00:30:50 +0000 (17:30 -0700)
cde/programs/dtwm/PopupMenu.c

index 316bb00ed702951c94cc51d26d0347bff138ce72..81c5fca576dcaca0b054e44b1c52fbc52ced092f 100644 (file)
@@ -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;
          }
       }