From: Dan Fandrich Date: Thu, 17 Mar 2011 23:28:12 +0000 (-0700) Subject: pop3: fixed memory leak in an error retrieval case X-Git-Tag: curl-7_21_5~72 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=409867e62bf1b12e0fa0d39007256b5807a60cea;p=curl pop3: fixed memory leak in an error retrieval case --- diff --git a/lib/pop3.c b/lib/pop3.c index d6e63035b..65169cff5 100644 --- a/lib/pop3.c +++ b/lib/pop3.c @@ -690,6 +690,7 @@ static CURLcode pop3_done(struct connectdata *conn, CURLcode status, { struct SessionHandle *data = conn->data; struct FTP *pop3 = data->state.proto.pop3; + struct pop3_conn *pop3c = &conn->proto.pop3c; CURLcode result=CURLE_OK; (void)premature; @@ -706,6 +707,9 @@ static CURLcode pop3_done(struct connectdata *conn, CURLcode status, result = status; /* use the already set error code */ } + free(pop3c->mailbox); + pop3c->mailbox = NULL; + /* clear these for next connection */ pop3->transfer = FTPTRANSFER_BODY; @@ -884,8 +888,6 @@ static CURLcode pop3_dophase_done(struct connectdata *conn, /* no data to transfer */ Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL); - free(pop3c->mailbox); - return CURLE_OK; }