HTTP resume fix, now the range pointer may be allocated

This commit is contained in:
Daniel Stenberg 2000-10-06 06:28:39 +00:00
parent 18f67852be
commit 03a56b3e56
2 changed files with 8 additions and 1 deletions

View File

@ -183,6 +183,11 @@ void static urlfree(struct UrlData *data, bool totally)
switch off that knowledge again... */
data->bits.httpproxy=FALSE;
}
if(data->bits.rangestringalloc) {
free(data->range);
data->range=NULL;
}
if(data->ptr_proxyuserpwd) {
free(data->ptr_proxyuserpwd);
@ -906,7 +911,8 @@ CURLcode curl_connect(CURL *curl, CURLconnect **in_connect)
if(!data->bits.set_range) {
/* if it already was in use, we just skip this */
sprintf(resumerange, "%d-", data->resume_from);
data->range=resumerange; /* tell ourselves to fetch this range */
data->range=strdup(resumerange); /* tell ourselves to fetch this range */
data->bits.rangestringalloc = TRUE; /* mark as allocated */
data->bits.set_range = 1; /* switch on range usage */
}
}

View File

@ -307,6 +307,7 @@ struct Configbits {
bool proxystringalloc; /* the http proxy string is malloc()'ed */
bool set_port;
bool set_range;
bool rangestringalloc; /* the range string is malloc()'ed */
bool upload;
bool use_netrc;
bool user_passwd;