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 */ {