mirror of
https://github.com/curl/curl.git
synced 2026-08-24 13:33:33 +03:00
- Stephen Collyer and Tor Arntsen helped identify a flaw in the range code
which output the range using a signed variable where it should rather use unsigned.
This commit is contained in:
parent
69aac49f79
commit
eb60ba23f5
4 changed files with 16 additions and 5 deletions
|
|
@ -7,7 +7,7 @@
|
|||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
|
|
@ -139,16 +139,18 @@
|
|||
|
||||
#ifndef SIZEOF_CURL_OFF_T
|
||||
/* If we don't know the size here, we assume a conservative size: 4. When
|
||||
building libcurl, the actual size of this variable should be define in the
|
||||
building libcurl, the actual size of this variable should be defined in the
|
||||
config*.h file. */
|
||||
#define SIZEOF_CURL_OFF_T 4
|
||||
#endif
|
||||
|
||||
/* We set up our internal prefered (CURL_)FORMAT_OFF_T here */
|
||||
/* We set up our internal prefered (CURL_)FORMAT_OFF_T[U] here */
|
||||
#if SIZEOF_CURL_OFF_T > 4
|
||||
#define FORMAT_OFF_T "lld"
|
||||
#define FORMAT_OFF_TU "llu" /* the unsigned version */
|
||||
#else
|
||||
#define FORMAT_OFF_T "ld"
|
||||
#define FORMAT_OFF_TU "lu" /* thus unsigned version */
|
||||
#endif /* SIZEOF_CURL_OFF_T */
|
||||
|
||||
#ifndef _REENTRANT
|
||||
|
|
|
|||
|
|
@ -3118,7 +3118,7 @@ static CURLcode setup_range(struct SessionHandle *data)
|
|||
free(s->range);
|
||||
|
||||
if(s->resume_from)
|
||||
s->range = aprintf("%" FORMAT_OFF_T "-", s->resume_from);
|
||||
s->range = aprintf("%" FORMAT_OFF_TU "-", s->resume_from);
|
||||
else
|
||||
s->range = strdup(data->set.str[STRING_SET_RANGE]);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue