[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[COMMITTED] poked: Handle zero-length payloads
From: |
Mohammad-Reza Nabipoor |
Subject: |
[COMMITTED] poked: Handle zero-length payloads |
Date: |
Tue, 8 Mar 2022 00:25:33 +0330 |
2022-02-07 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
* poked/usock.c (usock_client_step): Handle zero-length payloads.
---
ChangeLog | 4 ++++
poked/usock.c | 10 ++++++----
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 44612e8a..78c6b8a5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2022-02-07 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
+
+ * poked/usock.c (usock_client_step): Handle zero-length payloads.
+
2022-03-07 Daiki Ueno <ueno@gnu.org>
* pickles/asn1-ber.pk (BER_Identifier): Fix long-form tag number
diff --git a/poked/usock.c b/poked/usock.c
index df9ca614..4ba24dc6 100644
--- a/poked/usock.c
+++ b/poked/usock.c
@@ -249,10 +249,12 @@ usock_client_step (struct usock_client *c)
uint16_t len = (uint16_t)c->buf[1] << 8 | c->buf[0];
assert (c->inbuf == NULL);
- c->state = USOCK_CLIENT_IN_READ_PAYLOAD;
- c->inbuf = usock_buf_new_size (len);
- // c->inbuf->tag = ((uint64_t)c->fd << 32) | c->chan; // For debug
- c->inbuf->tag = c->chan;
+ if (len)
+ {
+ c->state = USOCK_CLIENT_IN_READ_PAYLOAD;
+ c->inbuf = usock_buf_new_size (len);
+ c->inbuf->tag = c->chan;
+ }
c->bufidx = 0;
c->buf[0] = c->buf[1] = 0;
}
--
2.35.1
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [COMMITTED] poked: Handle zero-length payloads,
Mohammad-Reza Nabipoor <=