Bug 49192 - баг в libcwiid
Summary: баг в libcwiid
Status: CLOSED WONTFIX
Alias: None
Product: Sisyphus
Classification: Development
Component: libcwiid (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-25 18:23 MSK by Егор
Modified: 2024-01-29 15:19 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Егор 2024-01-25 18:23:34 MSK
Запустил wmgui, нажал на кнопку connect и зажал на wiiremote 1+2 и нажал ok, программа зависла. Зависает на 

* thread #1, name = 'wmgui', stop reason = step over
    frame #0: 0x00007ffff7e89aaf libcwiid.so.1`cwiid_send_rpt(wiimote=0x0000555555737320, flags='\0', report='\x11', len=1, data=0x00007fffffffd6f7) at command.c:65:2
   62  	
   63  		buf[0] = BT_TRANS_SET_REPORT | BT_PARAM_OUTPUT;
   64  		buf[1] = report;
-> 65  		memcpy(buf+2, data, len);
   66  		if (!(flags & CWIID_SEND_RPT_NO_RUMBLE)) {реп
   67  			buf[2] |= wiimote->state.rumble;
   68  		}
видимо буфер переполняется
Comment 1 iQQator 2024-01-25 18:40:33 MSK
Шаги воспроизведения:
1.
2.
3.

Ожидаемый результат
-  Все работает

Фактический результат
- Приложение зависает на моменте подключения

Проведенный анализ
- Проверили приложение при помощи lldb и debug версии пакета
- Проставили брэкпоинты и нашли место после которого приложение не отвечает совсем

- Во время исполнения 65 строчки происходит зависание
```
* thread #1, name = 'wmgui', stop reason = step over
    frame #0: 0x00007ffff7e89aaf libcwiid.so.1`cwiid_send_rpt(wiimote=0x0000555555737320, flags='\0', report='\x11', len=1, data=0x00007fffffffd6f7) at command.c:65:2
   62    
   63      buf[0] = BT_TRANS_SET_REPORT | BT_PARAM_OUTPUT;
   64      buf[1] = report;
-> 65      memcpy(buf+2, data, len);
   66      if (!(flags & CWIID_SEND_RPT_NO_RUMBLE)) {реп
   67        buf[2] |= wiimote->state.rumble;
   68      }
``
Comment 2 Andrey Cherepanov 2024-01-29 15:19:22 MSK
Код 15-летней давности. Можете прислать патч или обратитесь к текущим мейнтейнерам: https://github.com/abstrakraft/cwiid/issues