From 1a6deb1cc3a40757b14910f84d882c108d56909b Mon Sep 17 00:00:00 2001 From: Zhiyi Zhang Date: Sat, 2 Dec 2023 23:16:05 +0800 Subject: [PATCH] tasklist: Fix a possible buffer overrun (Coverity). process_entry->szExeFile has length of MAX_PATH but info->image_name only has 32. --- programs/tasklist/tasklist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/programs/tasklist/tasklist.c b/programs/tasklist/tasklist.c index 4f866f6b727..6bbb9921d4f 100644 --- a/programs/tasklist/tasklist.c +++ b/programs/tasklist/tasklist.c @@ -176,7 +176,7 @@ static BOOL tasklist_get_process_info(const PROCESSENTRY32W *process_entry, stru info->pid_value = process_entry->th32ProcessID; info->memory_usage_value = memory_counters.WorkingSetSize / 1024; info->session_id_value = session_id; - wcscpy(info->image_name, process_entry->szExeFile); + lstrcpynW(info->image_name, process_entry->szExeFile, ARRAY_SIZE(info->image_name)); swprintf(info->pid, ARRAY_SIZE(info->pid), L"%u", process_entry->th32ProcessID); wcscpy(info->session_name, session_id == 0 ? L"Services" : L"Console"); swprintf(info->session_number, ARRAY_SIZE(info->session_number), L"%u", session_id);