[PATCH v6 10/12] http: replace unsafe size_t multiplication with st_mult
- From
Matthew John Cheetham via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jan 18, 2023, 03:30 UTC
- Message-ID
- <cc9a220ed1f12aef2f4df940e71adc1fad917a6b.1674012618.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1352.v6.git.1674012618.gitgitgadget@gmail.com>
From: Matthew John Cheetham <mjcheetham@outlook.com>
Replace direct multiplication of two size_t parameters in curl response stream handling callback functions with `st_mult` to guard against overflows.
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com> --- http.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/http.c b/http.c index 8a5ba3f4776..a2a80318bb2 100644 --- a/http.c +++ b/http.c @@ -146,7 +146,7 @@ static int http_schannel_use_ssl_cainfo; size_t fread_buffer(char *ptr, size_t eltsize, size_t nmemb, void *buffer_) { - size_t size = eltsize * nmemb; + size_t size = st_mult(eltsize, nmemb); struct buffer *buffer = buffer_; if (size > buffer->buf.len - buffer->posn) @@ -176,7 +176,7 @@ curlioerr ioctl_buffer(CURL *handle, int cmd, void *clientp) size_t fwrite_buffer(char *ptr, size_t eltsize, size_t nmemb, void *buffer_) { - size_t size = eltsize * nmemb; + size_t size = st_mult(eltsize, nmemb); struct strbuf *buffer = buffer_; strbuf_add(buffer, ptr, size);
-- gitgitgadget