summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-07-27 06:10:37 +0200
committerDaiki Ueno <dueno@redhat.com>2018-08-06 12:36:39 +0200
commitaa43c428327c1975fd1be69a01a28ddb21524cbd (patch)
treecd355af4170b9fd12ec73975b676cef4e007ae02
parenta2a714a6e9ba0d72e639a1dd48e216c5388f9dde (diff)
downloadgnutls-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>
-rw-r--r--lib/buffers.c16
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