fixed buffer overflow
removed useless LocalUnlock
fixed memory leak
Modified: trunk/reactos/subsys/system/regedit/hexedit.c
Modified: trunk/reactos/subsys/system/regedit/listview.c
Modified: trunk/reactos/subsys/system/regedit/treeview.c
_____
Modified: trunk/reactos/subsys/system/regedit/hexedit.c
--- trunk/reactos/subsys/system/regedit/hexedit.c 2005-10-17
13:57:40 UTC (rev 18520)
+++ trunk/reactos/subsys/system/regedit/hexedit.c 2005-10-17
15:17:54 UTC (rev 18521)
@@ -517,7 +517,7 @@
{
if(hed->hBuffer)
{
- while(LocalUnlock(hed->hBuffer));
+ //while(LocalUnlock(hed->hBuffer));
LocalFree(hed->hBuffer);
}
_____
Modified: trunk/reactos/subsys/system/regedit/listview.c
--- trunk/reactos/subsys/system/regedit/listview.c 2005-10-17
13:57:40 UTC (rev 18520)
+++ trunk/reactos/subsys/system/regedit/listview.c 2005-10-17
15:17:54 UTC (rev 18521)
@@ -223,7 +223,7 @@
LPTSTR strBinary;
if(dwCount > 0)
{
- strBinary = HeapAlloc(GetProcessHeap(), 0, (dwCount
* sizeof(TCHAR) * 3) + 1);
+ strBinary = HeapAlloc(GetProcessHeap(), 0, (dwCount
* sizeof(TCHAR) * 3) + sizeof(TCHAR));
for (i = 0; i < dwCount; i++)
{
wsprintf( strBinary + i*3, _T("%02X "),
pData[i] );
_____
Modified: trunk/reactos/subsys/system/regedit/treeview.c
--- trunk/reactos/subsys/system/regedit/treeview.c 2005-10-17
13:57:40 UTC (rev 18520)
+++ trunk/reactos/subsys/system/regedit/treeview.c 2005-10-17
15:17:54 UTC (rev 18521)
@@ -181,9 +181,9 @@
goto done;
}
tvItem.cchTextMax = dwMaxSubKeyLen;
- if (!(tvItem.pszText = HeapAlloc(GetProcessHeap(), 0,
dwMaxSubKeyLen * sizeof(TCHAR)))) {
+ /*if (!(tvItem.pszText = HeapAlloc(GetProcessHeap(), 0,
dwMaxSubKeyLen * sizeof(TCHAR)))) {
goto done;
- }
+ }*/
/* Get all of the tree node siblings in one contiguous block of
memory */
{
Show replies by date