Bug 8514

Summary: работа в 64 битном режиме
Product: Sisyphus Reporter: Damir Shayhutdinov <damir>
Component: wm-selectAssignee: viy <viy>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: mike, viy
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Proposed patch to fix string overflow none

Description Damir Shayhutdinov 2005-11-18 01:20:17 MSK
Программа не работает в 64 битном режиме, потому что в функции FillBox структура
копируется в строку, в которой недостаточно места для всей структуры.

В 64 битном режиме структура wm_entry имеет размер 32 байта, что превышает
размер строки, в которую эта строка копируется в функции FillBox.
Comment 1 Damir Shayhutdinov 2005-11-18 01:22:43 MSK
Created attachment 1252 [details]
Proposed patch to fix string overflow

Прилагаю патч, в котором в строку копируется не вся структура, а только ее
указатель - это 4 или 8 байт. Место под структуру аллоцируется malloc-ом и
освобождается через free после создания кнопки для wm.
Comment 2 Dmitry V. Levin 2005-11-21 03:36:17 MSK
Fixed in wm-select-0.3 (rewritten FillBox() in more portable way: struct dirent
array should not be used for custom purposes).