Em ter., 4 de ago. de 2020 às 13:06, Sjoerd Mullender
On 04/08/2020 17.34, Ranier Vilela wrote:
Em seg., 3 de ago. de 2020 às 12:47, Sjoerd Mullender
mailto:sjoerd@monetdb.org> escreveu: I don't think there is a leak.
A little higher in the function, before all the conditions that you're looking at, there is the statement s->stream_data.p = (void *) bzp; so bzp is saved first and s->stream_data.p and bzp are actually the same pointer. I'm not sure why the assignment you're referring to since they are already the same. It could be historical, but I'd have to look at the logs.
And about 2 and 3?
About 2: The call to stream_bzclose calls free(s-stream_data.p) which is the same as bzp, so that gets freed.
About 3: c is assigned to s->stream_data.p about half way in the function. As long as s doesn't get freed without first freeing s->stream_data.p, we're good. And freeing s->stream_data.p happens in curl_destroy when that gets called.
Nice, Thank you. regards, Ranier Vilela