diff --git a/WINGs/wcolorpanel.c b/WINGs/wcolorpanel.c index 7ebe8ba8..c86dfdd7 100644 --- a/WINGs/wcolorpanel.c +++ b/WINGs/wcolorpanel.c @@ -3400,9 +3400,8 @@ char *generateNewFilename(char *curName) newName = wmalloc(baseLen + 16); strncpy(newName, curName, baseLen); - newName[baseLen] = 0; - sprintf(&newName[baseLen], " {%i}", n + 1); + snprintf(&newName[baseLen], 16, " {%i}", n + 1); return newName; } diff --git a/src/defaults.c b/src/defaults.c index 300a0bbd..dab5e64a 100644 --- a/src/defaults.c +++ b/src/defaults.c @@ -2005,7 +2005,7 @@ static int getKeybind(WScreen * scr, WDefaultEntry * entry, WMPropList * value, return True; } - strncpy(buf, val, MAX_SHORTCUT_LENGTH); + wstrlcpy(buf, val, MAX_SHORTCUT_LENGTH); b = (char *)buf; diff --git a/src/rootmenu.c b/src/rootmenu.c index 5592f73e..0ecd3b4c 100644 --- a/src/rootmenu.c +++ b/src/rootmenu.c @@ -424,7 +424,7 @@ static Bool addShortcut(char *file, char *shortcutDefinition, WMenu * menu, WMen ptr = wmalloc(sizeof(Shortcut)); - strncpy(buf, shortcutDefinition, MAX_SHORTCUT_LENGTH); + wstrlcpy(buf, shortcutDefinition, MAX_SHORTCUT_LENGTH); b = (char *)buf; /* get modifiers */ diff --git a/src/usermenu.c b/src/usermenu.c index 0339bbbf..49473c87 100644 --- a/src/usermenu.c +++ b/src/usermenu.c @@ -157,9 +157,9 @@ static WUserMenuData *convertShortcuts(WScreen * scr, WMPropList * shortcut) for (i = 0, j = 0; i < keycount; i++) { data->key[j].modifier = 0; if (WMIsPLArray(shortcut)) { - strncpy(buf, WMGetFromPLString(WMGetFromPLArray(shortcut, i)), MAX_SHORTCUT_LENGTH); + wstrlcpy(buf, WMGetFromPLString(WMGetFromPLArray(shortcut, i)), MAX_SHORTCUT_LENGTH); } else { - strncpy(buf, WMGetFromPLString(shortcut), MAX_SHORTCUT_LENGTH); + wstrlcpy(buf, WMGetFromPLString(shortcut), MAX_SHORTCUT_LENGTH); } b = (char *)buf; diff --git a/src/workspace.c b/src/workspace.c index b726f7fd..c0493f32 100644 --- a/src/workspace.c +++ b/src/workspace.c @@ -749,7 +749,7 @@ void wWorkspaceMenuUpdate(WScreen * scr, WMenu * menu) i = scr->workspace_count - (menu->entry_no - 2); ws = menu->entry_no - 2; while (i > 0) { - strncpy(title, scr->workspaces[ws]->name, MAX_WORKSPACENAME_WIDTH); + wstrlcpy(title, scr->workspaces[ws]->name, MAX_WORKSPACENAME_WIDTH); entry = wMenuAddCallback(menu, title, switchWSCommand, (void *)ws); entry->flags.indicator = 1;