View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000395 | Far Manager | _Common | public | 2007-12-01 21:00 | 2008-04-20 05:13 |
Reporter | alexmitin | Assigned To | alexy | ||
Priority | normal | Severity | crash | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Fixed in Version | 1.80 alpha 1 | ||||
Summary | 0000395: Crash in UnicodeString::Format() | ||||
Description | File: UnicodeString.cpp Line: 219 Function: UnicodeString::Format() Context: do{ Size <<= 1; buffer = (wchar_t*)xf_realloc (buffer, Size*sizeof (wchar_t)); =[crash]=> retValue = _vsnwprintf ( buffer, Size, format, argptr ); } while ( retValue == -1 ); Stack: 60 Far.exe!_vsnwprintf(unsigned short * string=0x00000000, unsigned int count=520, const wchar_t * format=0x00538258, char * ap=0x0012f860) *61 Far.exe!UnicodeString::Format(const wchar_t * format=0x00538258, ...) 62 Far.exe!SetFarTitle(const wchar_t * Title=0x03bb6fd0) 63 Far.exe!FileList::SetTitle() 64 Far.exe!FileList::SetFocus() 65 Far.exe!FileList::ProcessMouse(_MOUSE_EVENT_RECORD * MouseEvent=0x03a0cfe8) 66 Far.exe!FilePanels::ProcessMouse(_MOUSE_EVENT_RECORD * MouseEvent=0x03a0cfe8) 67 Far.exe!Manager::ProcessMouse(_MOUSE_EVENT_RECORD * MouseEvent=0x03a0cfe8) 68 Far.exe!Manager::ProcessMainLoop() 69 Far.exe!Manager::EnterMainLoop() 70 Far.exe!MainProcess(const wchar_t * lpwszEditName=0x02f30fd0, const wchar_t * lpwszViewName=0x02f34fd0, const wchar_t * lpwszDestName1=0x02f38fd0, const wchar_t * lpwszDestName2=0x02f3cfd0, int StartLine=-1, int StartChar=-1, int RegOpt=0) 71 Far.exe!wmain(int Argc=1, wchar_t * * Argv=0x02ddef88) 72 Far.exe!__tmainCRTStartup() 73 Far.exe!wmainCRTStartup() 74 kernel32.dll!_BaseProcessStart@4() The value of the variables are the following: buffer = NULL Size = 520 format = "%.256s%s" function SetFarTitle() strFarTitle.Format (L"%.256s%s", Title, FarTitleAddons); Title = "{C:\!SHAREDDOCS}" FarTitleAddons = " - Far" | ||||
Additional Information | FAR 1.80.0.368 | ||||
Tags | No tags attached. | ||||
Build | 474 | ||||
|
А как ты добился того что память закончилась? |
|
Используя Application Verifier: http://www.microsoft.com/downloads/details.aspx?familyid=bd02c19c-1250-433c-8c1b-2619bd93b3a2&displaylang=en 1) Запускаешь Application Verifier 2) File/Add Application, выбираешь полный путь к FAR.exe (я выбирал debug версию) 3) Настройка: Low Resource Simulation. 4) Запускаешь FAR под Visual Studio 2005 debugger Application Verifier эмитирует нехватку памяти (и других ресурсов) для выбранного приложения. Этот инструмент конечно и много других ситуаций может сэмулировать. Смотри список Tests справа и Properties внизу для каждого test. |
|
Сразу надо говорить :) Как я уже сказал в другом тикете, такие места не интересны пока что, тут даже если и проверку добавить все ровно ничего хорошого не выйдет. В идеале конечно такое надо чинить, но в текущее время это пока что не реально. |
|
fixed. 460. Не знаю тока скока от этого пользы конечно. |
|
Если длина результирующей строки (после форматирования) равна 520 (MAX_PATH*2), то _vsnwprintf не добавит в конце '\0'. Смотри Remarks по ссылке: http://msdn2.microsoft.com/en-us/library/1kt27hek(VS.80).aspx Дальнейший вызов SetData(buffer) и StrLength() приведут к buffer overrun. |
|
fixed. 474. |
Date Modified | Username | Field | Change |
---|---|---|---|
2007-12-01 21:00 | alexmitin | New Issue | |
2007-12-02 05:09 | alexy | Note Added: 0000912 | |
2007-12-02 10:07 | alexmitin | Note Added: 0000916 | |
2007-12-02 10:38 | alexy | Note Added: 0000917 | |
2007-12-02 10:38 | alexy | Project | Far Manager => Known Error |
2008-03-22 14:28 | alexy | Status | new => assigned |
2008-03-22 14:28 | alexy | Assigned To | => alexy |
2008-03-25 13:26 | alexy | Project | Known Error => Far Manager |
2008-03-25 14:09 | alexy | Note Added: 0001427 | |
2008-03-25 14:09 | alexy | Status | assigned => feedback |
2008-04-02 01:08 | alexmitin | Note Added: 0001468 | |
2008-04-05 14:07 | alexy | Note Added: 0001472 | |
2008-04-05 14:08 | alexy | Category | User Menu => _Common |
2008-04-20 05:13 | alexy | Build | => 474 |
2008-04-20 05:13 | alexy | Status | feedback => closed |
2008-04-20 05:13 | alexy | Resolution | open => fixed |
2008-04-20 05:13 | alexy | Fixed in Version | => 1.80 alpha 1 |