diff options
author | Daiki Ueno <dueno@redhat.com> | 2018-07-27 06:10:37 +0200 |
---|---|---|
committer | Daiki Ueno <dueno@redhat.com> | 2018-08-06 12:36:39 +0200 |
commit | aa43c428327c1975fd1be69a01a28ddb21524cbd (patch) | |
tree | cd355af4170b9fd12ec73975b676cef4e007ae02 /lib | |
parent | a2a714a6e9ba0d72e639a1dd48e216c5388f9dde (diff) | |
download | gnutls-aa43c428327c1975fd1be69a01a28ddb21524cbd.tar.gz |
_gnutls_parse_record_buffered_msgs: eliminate local variable usage
If `remain > 0` is true, `recv_buf[0].length > 0` always holds.
Combine those conditions and remove the `remain` utilizing MIN().
This is to make the incomplete header handling case easier.
Signed-off-by: Daiki Ueno <dueno@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/buffers.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/lib/buffers.c b/lib/buffers.c index 53cd16ca08..220b7af9b3 100644 --- a/lib/buffers.c +++ b/lib/buffers.c @@ -1196,7 +1196,7 @@ int _gnutls_parse_record_buffered_msgs(gnutls_session_t session) return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE; if (!IS_DTLS(session)) { - ssize_t remain, append, header_size; + ssize_t append, header_size; do { if (bufel->type != GNUTLS_HANDSHAKE) @@ -1204,18 +1204,12 @@ int _gnutls_parse_record_buffered_msgs(gnutls_session_t session) gnutls_assert_val (GNUTLS_E_UNEXPECTED_PACKET); - /* if we have a half received message then complete it. - */ - remain = recv_buf[0].length - - recv_buf[0].data.length; - /* this is the rest of a previous message */ if (session->internals.handshake_recv_buffer_size > - 0 && recv_buf[0].length > 0 && remain > 0) { - if ((ssize_t) msg.size <= remain) - append = msg.size; - else - append = remain; + 0 && recv_buf[0].length > recv_buf[0].data.length) { + append = MIN(msg.size, + recv_buf[0].length - + recv_buf[0].data.length); ret = _gnutls_buffer_append_data(&recv_buf |