View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000580 | Far Manager 1.7x | Command Line/Execute | public | 2008-08-01 00:54 | 2008-11-19 21:06 |
Reporter | Ariman | Assigned To | alexy | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Fixed in Version | 1.71 | ||||
Summary | 0000580: Некоректный перебор расширений при запуске команды. | ||||
Description | Ситуация: - в каталоге есть подкаталог x.bat - в том же каталоге есть файл x.exe - при запуске с командной строки команды x произойдет попытка запуска каталога как программы, т.к. расширение bat имеет приоритет при переборе, а атрибут каталога не проверяется. Стандартный интерпритатор cmd ситуацию обрабатывает нормально - запускает x.exe. Патч прилагается. | ||||
Tags | No tags attached. | ||||
Build | 2461 | ||||
2008-08-19 08:46
|
far_execute_fix_2.diff (582 bytes)
Index: unicode_far/execute.cpp =================================================================== --- unicode_far/execute.cpp (revision 1919) +++ unicode_far/execute.cpp (working copy) @@ -470,7 +470,8 @@ if (!PtrFName) strWorkName += PtrExt; - if(GetFileAttributesW(strWorkName) != INVALID_FILE_ATTRIBUTES) + DWORD dwFileAttr = GetFileAttributesW(strWorkName); + if ((dwFileAttr != INVALID_FILE_ATTRIBUTES) && (dwFileAttr & FILE_ATTRIBUTE_DIRECTORY == 0)) { ConvertNameToFull (strWorkName, strFullName); Ret=TRUE; |
|
Правильный патч тот, что с цифрой 2. Первый вариант некорректный. |
|
В 581. Ты в CONTRIBUTORS уже записан? Если нет то говори как тебя там записывать. |
|
execute.cpp(474) : warning C4554: '&' : check operator precedence for possible error; use parentheses to clarify precedence Похоже, что всё-таки ошибка в коде: ============================================ if ((dwFileAttr != INVALID_FILE_ATTRIBUTES) && (dwFileAttr & FILE_ATTRIBUTE_DIRECTORY == 0)) ============================================ |
|
исправил, 582 |
|
2alexy. Спасибо, но я уже есть в CONTRIBUTORS. |
|
заодно исправил в 1.71, билд 2461 |
Date Modified | Username | Field | Change |
---|---|---|---|
2008-08-01 00:54 | Ariman | New Issue | |
2008-08-01 00:54 | Ariman | Status | new => assigned |
2008-08-01 00:54 | Ariman | Assigned To | => alexy |
2008-08-01 00:54 | Ariman | File Added: far_execute_fix.diff | |
2008-08-19 08:46 | Ariman | File Added: far_execute_fix_2.diff | |
2008-08-19 08:46 | Ariman | Note Added: 0001751 | |
2008-08-20 01:17 | zg | File Deleted: far_execute_fix.diff | |
2008-11-16 14:25 | alexy | Note Added: 0001962 | |
2008-11-16 14:34 | Denis | Note Added: 0001963 | |
2008-11-16 14:39 | alexy | Note Added: 0001964 | |
2008-11-16 14:39 | alexy | Status | assigned => feedback |
2008-11-17 08:49 | Ariman | Note Added: 0001972 | |
2008-11-19 20:43 | alexy | Project | Far Manager 1.7x => Far Manager |
2008-11-19 21:05 | alexy | Project | Far Manager => Far Manager 1.7x |
2008-11-19 21:06 | alexy | Build | => 2461 |
2008-11-19 21:06 | alexy | Note Added: 0001997 | |
2008-11-19 21:06 | alexy | Status | feedback => closed |
2008-11-19 21:06 | alexy | Resolution | open => fixed |
2008-11-19 21:06 | alexy | Fixed in Version | => 1.71 |