Gaz Iqbal fixed a range string memory leak!

This commit is contained in:
Daniel Stenberg 2003-11-24 07:10:02 +00:00
parent 4874aa6986
commit af9dc9f128
1 changed files with 10 additions and 7 deletions

View File

@ -2852,6 +2852,9 @@ static CURLcode CreateConnection(struct SessionHandle *data,
Curl_safefree(old_conn->proxyuser); Curl_safefree(old_conn->proxyuser);
Curl_safefree(old_conn->proxypasswd); Curl_safefree(old_conn->proxypasswd);
if(old_conn->bits.rangestringalloc)
free(old_conn->range);
free(old_conn); /* we don't need this anymore */ free(old_conn); /* we don't need this anymore */
/* /*
@ -2860,14 +2863,14 @@ static CURLcode CreateConnection(struct SessionHandle *data,
*/ */
conn->resume_from = data->set.set_resume_from; conn->resume_from = data->set.set_resume_from;
if (conn->resume_from) { if (conn->resume_from) {
snprintf(resumerange, sizeof(resumerange), "%d-", conn->resume_from); snprintf(resumerange, sizeof(resumerange), "%d-", conn->resume_from);
if (conn->bits.rangestringalloc == TRUE) if (conn->bits.rangestringalloc == TRUE)
free(conn->range); free(conn->range);
/* tell ourselves to fetch this range */ /* tell ourselves to fetch this range */
conn->range = strdup(resumerange); conn->range = strdup(resumerange);
conn->bits.use_range = TRUE; /* enable range download */ conn->bits.use_range = TRUE; /* enable range download */
conn->bits.rangestringalloc = TRUE; /* mark range string allocated */ conn->bits.rangestringalloc = TRUE; /* mark range string allocated */
} }
else if (data->set.set_range) { else if (data->set.set_range) {
/* There is a range, but is not a resume, useful for random ftp access */ /* There is a range, but is not a resume, useful for random ftp access */