diff options
| -rw-r--r-- | src/server.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server.c b/src/server.c index 9154a3c..7001b62 100644 --- a/src/server.c +++ b/src/server.c @@ -260,7 +260,10 @@ static ssize_t reread_cmd(struct server_conn *conn, size_t max) */ static ssize_t reread_n(struct server_conn *conn, size_t n) { - ssize_t r = reread(conn, n); + if (conn->strbuf.n >= n) + return n; + + ssize_t r = reread(conn, n - conn->strbuf.n); if (r < 0) return r; |
