Commit 657197e6 by Patrick Steinhardt Committed by Edward Thomson

openssl: fix potential size overflow when writing data

Our `openssl_write` function calls `SSL_write` by passing in both `data`
and `len` arguments directly. Thing is, our `len` parameter is of type
`size_t` and theirs is of type `int`. We thus need to clamp our length
to be at most `INT_MAX`.
parent 7613086d
...@@ -649,9 +649,8 @@ static ssize_t openssl_write(git_stream *stream, const char *data, size_t data_l ...@@ -649,9 +649,8 @@ static ssize_t openssl_write(git_stream *stream, const char *data, size_t data_l
GIT_UNUSED(flags); GIT_UNUSED(flags);
if ((ret = SSL_write(st->ssl, data, len)) <= 0) { if ((ret = SSL_write(st->ssl, data, len)) <= 0)
return ssl_set_error(st->ssl, ret); return ssl_set_error(st->ssl, ret);
}
return ret; return ret;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment