[NBTREE] Possible NULL pointer dereference (backend/access/nbtree/nbutils.c)

Поиск
Список
Период
Сортировка
От Ranier Vilela
Тема [NBTREE] Possible NULL pointer dereference (backend/access/nbtree/nbutils.c)
Дата
Msg-id CAEudQApXsNo0pvk_Kt+k8TpFcOtPiiumAnEt3nE1u=ubOf8TjQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: [NBTREE] Possible NULL pointer dereference (backend/access/nbtree/nbutils.c)
Re: [NBTREE] Possible NULL pointer dereference (backend/access/nbtree/nbutils.c)
Список pgsql-hackers
Hi,

Is possible that BTreeTupleSetNAtts, leave everything tidy, so that BTreeTupleGetHeapTID doesn't fail.
BTreeTupleGetHeapTID can return NULL.

But, as we can see:
1. Line 2085 (nbtutils.c):
    if (BTreeTupleGetHeapTID(itup) != NULL && tupnatts != nkeyatts)
2. Line 803 (nbtsearch.c):
    if (heapTid == NULL)

Maybe, better make sure, because:
3. Line 2285 (nbtutils.c):
    ItemPointerCopy(BTreeTupleGetMaxHeapTID(lastleft), pivotheaptid);
4. Line 2316 (nbtutils.c) :
    ItemPointerCopy(BTreeTupleGetHeapTID(firstright), pivotheaptid);

Can dereference NULL pointer (pivotheaptid) at runtime (release version).

itemptr.h:
#define ItemPointerCopy(fromPointer, toPointer) \
( \
AssertMacro(PointerIsValid(toPointer)), \
AssertMacro(PointerIsValid(fromPointer)), \
*(toPointer) = *(fromPointer) \
)

regards,
Ranier Vilela

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jesse Zhang
Дата:
Сообщение: Re: Fix for configure error in 9.5/9.6 on macOS 11.0 Big Sur
Следующее
От: Ranier Vilela
Дата:
Сообщение: Re: [NBTREE] Possible NULL pointer dereference (backend/access/nbtree/nbutils.c)