Commit 409867e6 authored by Dan Fandrich's avatar Dan Fandrich
Browse files

pop3: fixed memory leak in an error retrieval case

parent 929aeed3
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;
}