Skip to content

Commit

Permalink
http: clarify header buffer size calculation
Browse files Browse the repository at this point in the history
The header buffer size calculation can from static analysis seem to
overlow as it performs an addition between two size_t variables and
stores the result in a size_t variable. Overflow is however guarded
against elsewhere since the input to the addition is regulated by
the maximum read buffer size. Clarify this with a comment since the
question was asked.

Reviewed-by: Daniel Stenberg <daniel@haxx.se>
  • Loading branch information
danielgustafsson committed Jun 24, 2019
1 parent 1853c88 commit b962820
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions lib/http.c
Expand Up @@ -3147,6 +3147,9 @@ static CURLcode header_append(struct Curl_easy *data,
struct SingleRequest *k,
size_t length)
{
/* length is at most the size of a full read buffer, for which the upper
bound is CURL_MAX_READ_SIZE. There is thus no chance of overflow in this
calculation. */
size_t newsize = k->hbuflen + length;
if(newsize > CURL_MAX_HTTP_HEADER) {
/* The reason to have a max limit for this is to avoid the risk of a bad
Expand Down

0 comments on commit b962820

Please sign in to comment.