diff options
Diffstat (limited to 'lib/pop3.c')
-rw-r--r-- | lib/pop3.c | 6 |
1 files changed, 4 insertions, 2 deletions
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; } |