Author: greatlrd
Date: Sun Feb 4 21:19:34 2007
New Revision: 25719
URL:
http://svn.reactos.org/svn/reactos?rev=25719&view=rev
Log:
fixed a problem possible overwrite memory in cmd. base on knowlges from bug 2017. the
patch are incorrect to fix it.
we simple do not allown overwrite the memory. both on trunk and 0.3.1
See issue #2017 for more details.
Modified:
trunk/reactos/base/shell/cmd/cmd.c
Modified: trunk/reactos/base/shell/cmd/cmd.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/cmd.c?rev=2…
==============================================================================
--- trunk/reactos/base/shell/cmd/cmd.c (original)
+++ trunk/reactos/base/shell/cmd/cmd.c Sun Feb 4 21:19:34 2007
@@ -187,6 +187,9 @@
INT c = 0;
INT n = 0;
+ if (len <= 1)
+ return 0;
+
if (num.QuadPart == 0)
{
des[0] = _T('0');
@@ -203,6 +206,8 @@
temp[30 - c++] = (TCHAR)(num.QuadPart % 10) + _T('0');
num.QuadPart /= 10;
}
+ if (c>len)
+ c=len;
for (n = 0; n <= c; n++)
des[n] = temp[31 - c + n];