Re: How to properly fix memory leak - Mailing list pgsql-general

From David G. Johnston
Subject Re: How to properly fix memory leak
Date
Msg-id CAKFQuwZKp_FWZ0mi9H8th+fh70KeoV=4_6uB40TvQ9r1Q04UhA@mail.gmail.com
Whole thread Raw
In response to How to properly fix memory leak  (Igor Korot <ikorot01@gmail.com>)
Responses Re: How to properly fix memory leak
Re: How to properly fix memory leak
List pgsql-general
On Friday, April 25, 2025, Igor Korot <ikorot01@gmail.com> wrote:

        for( int i = 0; i < PQntuples( res ); i++ )
        {
            auto temp1 = m_pimpl->m_myconv.from_bytes( PQgetvalue(
res, i, 1 ) );
            m_tablespaces.push_back( temp1 );
        } // this line gives a leak according to VLD
    }
    PQclear( res );
    return result;
[/code]

I ran this code on MSVC 2017  with VLD and according to the VLD report I have
a memory leak on the line indicated.

Seems like a false positive.
 

Should I call PQclear() on every iteration of the loop?

Would make processing more than a single row impossible if you throw away the result after processing one row.

David J.

pgsql-general by date:

Previous
From: Igor Korot
Date:
Subject: How to properly fix memory leak
Next
From: Igor Korot
Date:
Subject: Re: How to properly fix memory leak