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

From: Max Kellermann <max(at)linuxtag(dot)org>
To: pgsql-bugs(at)postgresql(dot)org
Subject: 7.3.4: memory leak in fe-exec.c:279 (realloc)
Date: 2003-10-02 10:16:04
Message-ID: 20031002101604.GA16519@duempel.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Richard Ellis 2003-10-02 11:31:22 Re: is this my date problem
Previous Message Karel Zak 2003-10-02 07:32:26 Re: is this my date problem