Bug 8514 - работа в 64 битном режиме
: работа в 64 битном режиме
: Sisyphus
(All bugs in Sisyphus/wm-select)
: unstable
: all Linux
: P2 normal
Assigned To:
  Show dependency tree
Reported: 2005-11-18 01:20 by
Modified: 2005-11-23 01:17 (History)

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


You need to log in before you can comment on or make changes to this bug.

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

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

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