From 03a56b3e56f8200c479f3786b54dc458b148f667 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 6 Oct 2000 06:28:39 +0000 Subject: HTTP resume fix, now the range pointer may be allocated --- lib/url.c | 8 +++++++- lib/urldata.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/url.c b/lib/url.c index 582d03da0..3865d201e 100644 --- a/lib/url.c +++ b/lib/url.c @@ -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 */ } } diff --git a/lib/urldata.h b/lib/urldata.h index 241bfc268..87e49a840 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -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; -- cgit v1.2.3