mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 13:34:53 +00:00
- Fix a potential buffer overflow in SH_ShowDriveProperties (CID 589)
- Fix a possible null dereference (CID 495) - Fix initializing Recycle Bin Property dialog - Add LVS_EX_FULLROWSELECT style svn path=/trunk/; revision=37081
This commit is contained in:
parent
9332dccc8c
commit
6cf62f2a9f
|
@ -678,7 +678,7 @@ SH_ShowDriveProperties(WCHAR * drive, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST *
|
||||||
PROPSHEETHEADERW psh;
|
PROPSHEETHEADERW psh;
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
UINT i;
|
UINT i;
|
||||||
WCHAR szName[MAX_PATH];
|
WCHAR szName[MAX_PATH+6];
|
||||||
DWORD dwMaxComponent, dwFileSysFlags;
|
DWORD dwMaxComponent, dwFileSysFlags;
|
||||||
IDataObject * pDataObj = NULL;
|
IDataObject * pDataObj = NULL;
|
||||||
|
|
||||||
|
@ -700,8 +700,8 @@ SH_ShowDriveProperties(WCHAR * drive, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST *
|
||||||
/* FIXME
|
/* FIXME
|
||||||
* check if disk is a really a local hdd
|
* check if disk is a really a local hdd
|
||||||
*/
|
*/
|
||||||
i = LoadStringW(shell32_hInstance, IDS_DRIVE_FIXED, szName, sizeof(szName)/sizeof(WCHAR));
|
i = LoadStringW(shell32_hInstance, IDS_DRIVE_FIXED, szName, sizeof(szName)/sizeof(WCHAR)-6);
|
||||||
if (i > 0 && i < (sizeof(szName)/sizeof(WCHAR)) + 6)
|
if (i > 0 && i < (sizeof(szName)/sizeof(WCHAR)) - 6)
|
||||||
{
|
{
|
||||||
szName[i] = L' ';
|
szName[i] = L' ';
|
||||||
szName[i+1] = L'(';
|
szName[i+1] = L'(';
|
||||||
|
@ -929,6 +929,8 @@ InitializeFormatDriveDlg(HWND hwndDlg, PFORMAT_DRIVE_CONTEXT pContext)
|
||||||
HWND hDlgCtrl;
|
HWND hDlgCtrl;
|
||||||
|
|
||||||
Length = GetWindowTextW(hwndDlg, szText, sizeof(szText)/sizeof(WCHAR));
|
Length = GetWindowTextW(hwndDlg, szText, sizeof(szText)/sizeof(WCHAR));
|
||||||
|
if (Length < 0)
|
||||||
|
Length = 0;
|
||||||
szDrive[0] = pContext->Drive + L'A';
|
szDrive[0] = pContext->Drive + L'A';
|
||||||
if (GetVolumeInformationW(szDrive, &szText[Length+1], (sizeof(szText)/sizeof(WCHAR))- Length - 2, &dwSerial, &dwMaxComp, &dwFileSys, szFs, sizeof(szFs)/sizeof(WCHAR)))
|
if (GetVolumeInformationW(szDrive, &szText[Length+1], (sizeof(szText)/sizeof(WCHAR))- Length - 2, &dwSerial, &dwMaxComp, &dwFileSys, szFs, sizeof(szFs)/sizeof(WCHAR)))
|
||||||
{
|
{
|
||||||
|
|
|
@ -97,8 +97,8 @@ BOOL HasItemWithCLSID(IEnumIDList *iface, LPITEMIDLIST pidl)
|
||||||
|
|
||||||
while(pCur)
|
while(pCur)
|
||||||
{
|
{
|
||||||
REFIID curid = _ILGetGUIDPointer(pCur->pidl);
|
LPGUID curid = _ILGetGUIDPointer(pCur->pidl);
|
||||||
if (IsEqualIID(curid, refid))
|
if (curid && IsEqualGUID(curid, refid))
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1218,7 +1218,7 @@ InitializeBitBucketDlg(HWND hwndDlg, WCHAR DefaultDrive)
|
||||||
li.iSubItem = 0;
|
li.iSubItem = 0;
|
||||||
li.pszText = szVolume;
|
li.pszText = szVolume;
|
||||||
li.iItem = itemCount;
|
li.iItem = itemCount;
|
||||||
(void)SendMessageW(hDlgCtrl, LVM_INSERTCOLUMN, 0, (LPARAM)&li);
|
(void)SendMessageW(hDlgCtrl, LVM_INSERTITEMW, 0, (LPARAM)&li);
|
||||||
if (GetDiskFreeSpaceExW(szDrive, &FreeBytesAvailable , &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
|
if (GetDiskFreeSpaceExW(szDrive, &FreeBytesAvailable , &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
|
||||||
{
|
{
|
||||||
if (StrFormatByteSizeW(TotalNumberOfFreeBytes.QuadPart, szVolume, sizeof(szVolume) / sizeof(WCHAR)))
|
if (StrFormatByteSizeW(TotalNumberOfFreeBytes.QuadPart, szVolume, sizeof(szVolume) / sizeof(WCHAR)))
|
||||||
|
@ -1383,11 +1383,17 @@ BitBucketDlg(
|
||||||
PDRIVE_ITEM_CONTEXT pItem;
|
PDRIVE_ITEM_CONTEXT pItem;
|
||||||
BOOL bSuccess;
|
BOOL bSuccess;
|
||||||
UINT uResult;
|
UINT uResult;
|
||||||
|
PROPSHEETPAGE * page;
|
||||||
|
DWORD dwStyle;
|
||||||
|
|
||||||
switch(uMsg)
|
switch(uMsg)
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
InitializeBitBucketDlg(hwndDlg, (WCHAR)lParam);
|
page = (PROPSHEETPAGE*)lParam;
|
||||||
|
InitializeBitBucketDlg(hwndDlg, (WCHAR)page->lParam);
|
||||||
|
dwStyle = (DWORD) SendDlgItemMessage(hwndDlg, 14000, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
|
||||||
|
dwStyle = dwStyle | LVS_EX_FULLROWSELECT;
|
||||||
|
SendDlgItemMessage(hwndDlg, 14000, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dwStyle);
|
||||||
if (GetDlgCtrlID((HWND)wParam) != 14000)
|
if (GetDlgCtrlID((HWND)wParam) != 14000)
|
||||||
{
|
{
|
||||||
SetFocus(GetDlgItem(hwndDlg, 14000));
|
SetFocus(GetDlgItem(hwndDlg, 14000));
|
||||||
|
|
Loading…
Reference in a new issue