Bug 8514 - работа в 64 битном режиме
Summary: работа в 64 битном режиме
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: wm-select (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: viy
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-18 01:20 MSK by Damir Shayhutdinov
Modified: 2005-11-23 01:17 MSK (History)
2 users (show)

See Also:


Attachments
Proposed patch to fix string overflow (1.73 KB, patch)
2005-11-18 01:22 MSK, Damir Shayhutdinov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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).