7.3.4: memory leak in fe-exec.c:279 (realloc)

Поиск
Список
Период
Сортировка
От Max Kellermann
Тема 7.3.4: memory leak in fe-exec.c:279 (realloc)
Дата
Msg-id 20031002101604.GA16519@duempel.org
обсуждение исходный текст
Ответы Re: 7.3.4: memory leak in fe-exec.c:279 (realloc)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
Hi,

I have found a memory leak in PostgreSQL 7.3.4,
src/interfaces/libpq/fe-exec.c line 279:

        buffer = realloc(buffer, buflen);
        if (buffer == NULL)
                return NULL;

The realloc manpage says:

  "If  realloc() fails the original block is left untouched - it is
  not freed or moved."

i.e. "buffer" is not freed if there is not enough memory for
realloc. The code should be like this:

        temp_buffer = realloc(buffer, buflen);
        if (temp_buffer == NULL) {
                free(buffer);
                return NULL;
        }
        buffer = temp_buffer;

Regards,
Max Kellermann

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

Предыдущее
От: Richard Ellis
Дата:
Сообщение: Re: is this my date problem
Следующее
От: Tom Lane
Дата:
Сообщение: Re: is this my date problem