Подробности

[В начало]

Проблема в реализации № S0028

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

Реализация функции insque() не удовлетворяет POSIX

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

В описании в POSIX функции insque() сказано, что если вызвать эту функцию со вторым параметром равным NULL insque(&element, NULL), где element - первый элемент в очереди, то указатели в переменной element должны быть утановлены в NULL. Но в текущей версии glibc эта функция в этом случае вызывает падение.

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

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

Пример

#include <stdio.h>
#include <search.h>
	
typedef struct
{
    void* next;
    void* prev;
} Node;

int main()
{
    Node A;
    A.next = NULL;
    A.prev = NULL;
    insque(&A, NULL);
    return 0;
}

Компонент

glibc 2.4 or later

Принято

Red Hat Bugzilla, 2766

Статус

Исправлено в glibc-2.5

[В начало]