Подробности

[В начало]

Проблема в стандарте № S0311

Краткое описание

Семейство функций inchnstr() пишет n+1 символов в подаваемый на вход массив

Подробное описание

В стандарте SUSv2, на который ссылается LSB 3.1, для функций семейства inchnstr() сказано, что они записывают максимум n элементов в подаваемый на вход массив. При этом не ясно, входит ли завершающий символ (chtype) 0 в эти n символов.
Но в документации разработчиков для ncurses явно оговорено, что этот завершающий символ не входит в эти n символов.
Поэтому если подать на вход массив рамера n, то будет выход за граница массива.

Раздел стандарта

Linux Standard Base Core Specification 3.1, Chapter 14. Utility Libraries, 14.5. Interfaces for libncurses.

Возможные последствия

Возможен выход за границы массива, если руководствоваться только стандартом LSB

Ссылки

Ссылок на эту проблему не найдено

Принято

LSB Bugzilla, 1644

[В начало]