View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000664 | Far Manager | Panel.QView | public | 2008-12-17 03:06 | 2008-12-18 12:00 |
Reporter | alexmitin | Assigned To | alexy | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | x86 | OS | Windows | OS Version | XP SP2 |
Fixed in Version | 2.0 | ||||
Summary | 0000664: Crash while using Quck View on Volume Mount Point | ||||
Description | There is a crash when using Quick View on Volume Mount Point. Steps to reproduce: 1) Create an empty folder c:\mnt\DiskV 2) Create a volume mount point using eigther "Disk Management" console or mountvol.exe: mountvol c:\mnt\DiskV \\?\Volume{3e296859-a2fb-124d-99b6-5987ca454512}\ 3) Select the C:\mnt\DiskV in the FAR. 4) Press Ctrl+Q to show the Quick View panel. Actual Result: --------------- The Quick View panel shows garbage in the "Volume mount point" field. Sometimes FAR crashes. Expected Result: --------------- The "Volume mount point" field shows the actual mapping point. Either volume ID or mapped drive letter or both. Analysis ----------------- There is a problem in a function QuickView::DisplayObject(). ---[code.begin]---------------- void QuickView::DisplayObject() { ... string strJuncName; <==[code.A]== DWORD ReparseTag=0; if(GetReparsePointInfo(strCurFileName, strJuncName,&ReparseTag)) //"\??\D:\Junc\Src\" { int ID_Msg=MQuickViewJunction, Width=11; int offset=0; if (!StrCmpN(strJuncName,L"\\??\\",4)) offset=4; <==[code.B]== if(ReparseTag==IO_REPARSE_TAG_MOUNT_POINT) { if(IsLocalVolumePath(strJuncName) && !strJuncName.At(49)) { string strJuncRoot; GetPathRootOne(&strJuncName[offset], strJuncRoot); if( strJuncRoot.At(1) == L':') { strJuncName = strJuncRoot; <==[code.C]=== } ID_Msg=MQuickViewVolMount; Width=21; } } else if(ReparseTag==IO_REPARSE_TAG_SYMLINK) { ID_Msg=MQuickViewSymlink; Width=11; } string strJuncTemp=&strJuncName[offset]; <==[bug.1]=== ... } ---[code.end]------------------ Check the following places: code.A, code.B, code.C, bug.1 | ||||
Additional Information | FAR 2.0 Build 657 | ||||
Tags | No tags attached. | ||||
Build | 658 | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2008-12-17 03:06 | alexmitin | New Issue | |
2008-12-17 08:44 | alexy | Status | new => assigned |
2008-12-17 08:44 | alexy | Assigned To | => alexy |
2008-12-17 09:51 | alexy | Note Added: 0002179 | |
2008-12-17 09:51 | alexy | Status | assigned => feedback |
2008-12-18 01:58 | alexmitin | Note Added: 0002191 | |
2008-12-18 01:58 | alexmitin | Status | feedback => resolved |
2008-12-18 01:58 | alexmitin | Resolution | open => fixed |
2008-12-18 11:59 | alexy | Build | => 658 |
2008-12-18 11:59 | alexy | Status | resolved => closed |
2008-12-18 12:00 | alexy | Fixed in Version | => 2.0 |