Подробности

[В начало]

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

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

Описание функции __mempcpy() недостаточно информативно.

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

В описании функции
ptr_t __mempcpy(ptr_t restrict dest, const ptr_t restrict src, size_t n ); ничего не говорится о ее поведении, в случае, когда:

  • оба или один из параметров dest и src равны NULL;
  • параметр n равен 0;
  • области памяти, адресованные указателями dest и src пересекаются;
  • области памяти, адресованные указателями dest и src совпадают.

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

Linux Standard Base Core Specification 3.1, Chapter 13. Base Libraries, 13.5. Interface Definitions for libc, description of function __mempcpy.

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

Несовместимость программ, работающих на разных представителях Linux, удовлетворяющих стандарту.

Способы устранения

Дополнить описание для указанных случаев - описать поведение, или указать, что в таких ситуациях поведение не определено (или же зависит от реализации).

Ссылки

Явных указаний на эту проблему не обнаружено.

Принято

LSB Bugzilla, 1297

Статус

Исправлена в LSB 4.0

[В начало]