[PATCH v7 10/12] http: replace unsafe size_t multiplication with st_mult
- From
Matthew John Cheetham via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jan 20, 2023, 22:08 UTC
- Message-ID
- <4b1635b3f6968f8d755bdf6bc4ec7af77aefd315.1674252531.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1352.v7.git.1674252530.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