diff options
author | Daniel Stenberg <daniel@haxx.se> | 2021-01-19 14:23:11 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2021-01-19 23:43:10 +0100 |
commit | 13bc1ea9bcef34c4beb384549e4be64e341426db (patch) | |
tree | 1cebebc71d6a3d2a1fb6d25eef9c2870fc46702f | |
parent | e71542a9d9d043db454a49a35440332ec893cf04 (diff) | |
download | curl-13bc1ea9bcef34c4beb384549e4be64e341426db.tar.gz |
http_chunks: correct and clarify a comment on hexnumber length
... and also rename the define for max length.
Closes #6489
-rw-r--r-- | lib/http_chunks.c | 2 | ||||
-rw-r--r-- | lib/http_chunks.h | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/lib/http_chunks.c b/lib/http_chunks.c index 70db97e31..3a878242e 100644 --- a/lib/http_chunks.c +++ b/lib/http_chunks.c @@ -137,7 +137,7 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn, switch(ch->state) { case CHUNK_HEX: if(isxdigit_ascii(*datap)) { - if(ch->hexindex < MAXNUM_SIZE) { + if(ch->hexindex < CHUNK_MAXNUM_LEN) { ch->hexbuffer[ch->hexindex] = *datap; datap++; length--; diff --git a/lib/http_chunks.h b/lib/http_chunks.h index c8f072a2d..6831613ef 100644 --- a/lib/http_chunks.h +++ b/lib/http_chunks.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2021, 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 @@ -26,10 +26,10 @@ struct connectdata; /* * The longest possible hexadecimal number we support in a chunked transfer. - * Weird enough, RFC2616 doesn't set a maximum size! Since we use strtoul() - * to convert it, we "only" support 2^32 bytes chunk data. + * Neither RFC2616 nor the later HTTP specs define a maximum chunk size. + * For 64 bit curl_off_t we support 16 digits. For 32 bit, 8 digits. */ -#define MAXNUM_SIZE 16 +#define CHUNK_MAXNUM_LEN (SIZEOF_CURL_OFF_T * 2) typedef enum { /* await and buffer all hexadecimal digits until we get one that isn't a @@ -83,7 +83,7 @@ typedef enum { const char *Curl_chunked_strerror(CHUNKcode code); struct Curl_chunker { - char hexbuffer[ MAXNUM_SIZE + 1]; + char hexbuffer[ CHUNK_MAXNUM_LEN + 1]; /* +1 for null-terminator */ int hexindex; ChunkyState state; curl_off_t datasize; |