Author: rharabien
Date: Fri Mar 25 22:57:46 2011
New Revision: 51143
URL:
http://svn.reactos.org/svn/reactos?rev=51143&view=rev
Log:
[WIN32K]
wcsncpy -> safe api (part 3/x)
Modified:
trunk/reactos/subsystems/win32/win32k/eng/device.c
Modified: trunk/reactos/subsystems/win32/win32k/eng/device.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/en…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/eng/device.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/eng/device.c [iso-8859-1] Fri Mar 25 22:57:46
2011
@@ -84,12 +84,13 @@
pGraphicsDevice->FileObject = pFileObject;
/* Copy device name */
- wcsncpy(pGraphicsDevice->szNtDeviceName,
- pustrDeviceName->Buffer,
- sizeof(pGraphicsDevice->szNtDeviceName) / sizeof(WCHAR));
+ RtlStringCbCopyNW(pGraphicsDevice->szNtDeviceName,
+ sizeof(pGraphicsDevice->szNtDeviceName),
+ pustrDeviceName->Buffer,
+ pustrDeviceName->Length);
/* Create a win device name (FIXME: virtual devices!) */
- swprintf(pGraphicsDevice->szWinDeviceName, L"\\\\.\\VIDEO%d",
(CHAR)giDevNum);
+ swprintf(pGraphicsDevice->szWinDeviceName, L"\\\\.\\VIDEO%d",
(int)giDevNum);
/* Allocate a buffer for the strings */
cj = pustrDiplayDrivers->Length + pustrDescription->Length + sizeof(WCHAR);
@@ -98,6 +99,8 @@
{
DPRINT1("Could not allocate string buffer\n");
ASSERT(FALSE); // FIXME
+ ExFreePoolWithTag(pGraphicsDevice, GDITAG_GDEVICE);
+ return NULL;
}
/* Copy display driver names */
@@ -160,7 +163,7 @@
if (!pGraphicsDevice->pdevmodeInfo || cModes == 0)
{
DPRINT1("No devmodes\n");
- ExFreePool(pGraphicsDevice);
+ ExFreePoolWithTag(pGraphicsDevice, GDITAG_GDEVICE);
return NULL;
}
@@ -172,7 +175,7 @@
if (!pGraphicsDevice->pDevModeList)
{
DPRINT1("No devmode list\n");
- ExFreePool(pGraphicsDevice);
+ ExFreePoolWithTag(pGraphicsDevice, GDITAG_GDEVICE);
return NULL;
}