projects
/
curl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
929aeed
)
pop3: fixed memory leak in an error retrieval case
author
Dan Fandrich
<dan@coneharvesters.com>
Thu, 17 Mar 2011 23:28:12 +0000
(16:28 -0700)
committer
Dan Fandrich
<dan@coneharvesters.com>
Thu, 17 Mar 2011 23:28:12 +0000
(16:28 -0700)
lib/pop3.c
patch
|
blob
|
history
diff --git
a/lib/pop3.c
b/lib/pop3.c
index d6e63035be351a1d5c35a728fbdb51d819a4a104..65169cff57d42084d59cb0f732180d887697c62b 100644
(file)
--- 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;
}