Fixed a TFTP memory leak. Enabled test 2003 to verify this.

This commit is contained in:
Daniel Stenberg 2007-10-25 07:47:38 +00:00
parent 65ed696625
commit 91e27ce755
4 changed files with 11 additions and 3 deletions

View File

@ -6,6 +6,11 @@
Changelog Changelog
Daniel S (25 October 2007)
- Fixed a few memory leaks when the same easy handle is re-used to request
URLs with different protocols. FTP and TFTP related leaks. Caught thanks to
Dan F's new test cases.
Dan F (24 October 2007) Dan F (24 October 2007)
- Fixed the test FTP and TFTP servers to support the >10000 test number - Fixed the test FTP and TFTP servers to support the >10000 test number
notation notation

View File

@ -40,7 +40,7 @@ This release includes the following bugfixes:
o CURLOPT_POSTFIELDS could fail to send binary data o CURLOPT_POSTFIELDS could fail to send binary data
o specifying a proxy with a trailing slash didn't work (unless it also o specifying a proxy with a trailing slash didn't work (unless it also
contained a port number) contained a port number)
o redirect from HTTP to FTP memory problem o redirect from HTTP to FTP or TFTP memory problems and leaks
o re-used connections a bit too much when using non-SSL protocols tunneled o re-used connections a bit too much when using non-SSL protocols tunneled
over a HTTP proxy over a HTTP proxy
o embed the manifest in VC8 builds o embed the manifest in VC8 builds

View File

@ -605,9 +605,13 @@ static CURLcode tftp_state_machine(tftp_state_data_t *state,
static CURLcode Curl_tftp_connect(struct connectdata *conn, bool *done) static CURLcode Curl_tftp_connect(struct connectdata *conn, bool *done)
{ {
CURLcode code; CURLcode code;
tftp_state_data_t *state; tftp_state_data_t *state;
int rc; int rc;
/* If there already is a protocol-specific struct allocated for this
sessionhandle, deal with it */
Curl_reset_reqproto(conn);
state = conn->data->reqdata.proto.tftp = calloc(sizeof(tftp_state_data_t), state = conn->data->reqdata.proto.tftp = calloc(sizeof(tftp_state_data_t),
1); 1);
if(!state) if(!state)

View File

@ -4,4 +4,3 @@
# per line. # per line.
# Lines starting with '#' letters are treated as comments. # Lines starting with '#' letters are treated as comments.
#1009 #1009
2003