Fix a potential buffer owerflow. Noticed by Martin Ettl with cppcheck. Bug #4987.
authorDmitry Gorbachev <gorbachev@reactos.org>
Sat, 5 Dec 2009 17:35:54 +0000 (17:35 +0000)
committerDmitry Gorbachev <gorbachev@reactos.org>
Sat, 5 Dec 2009 17:35:54 +0000 (17:35 +0000)
svn path=/trunk/; revision=44413

reactos/base/applications/network/telnet/src/tnmisc.cpp

index e3fa27e..25e319a 100644 (file)
@@ -1,6 +1,5 @@
 #include <windows.h>
-#include <stdlib.h>
-#include <memory.h>
+#include <stdio.h>
 
 #include "tnmisc.h"
 
@@ -139,10 +138,9 @@ bool SetIcon(HWND hConsoleWindow, HANDLE hIcon, LPARAM *pOldBIcon, LPARAM *pOldS
 // (Paul Brannan 12/17/98)
 #ifndef __BORLANDC__ // Ioannou Dec. 8, 1998
        if(!hIcon) {
-               char filename[128];                                     // load from telnet.ico
-               strncpy(filename, icondir, sizeof(filename));
-               strncat(filename, "telnet.ico", sizeof(filename));
-               filename[sizeof(filename) - 1] = 0;
+               char filename[MAX_PATH];                                        // load from telnet.ico
+               _snprintf(filename, MAX_PATH - 1, "%s%s", icondir, "telnet.ico");
+               filename[MAX_PATH - 1] = '\0';
 
                // Note: loading the icon from a file doesn't work on NT
                // There is no LoadImage in Borland headers - only LoadIcon