From 7ddeb416451e763677f1638263e26e0855d79d91 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sat, 22 Nov 2008 17:49:39 +0100 Subject: [PATCH 1/1] http_recv: Fix reading of the HTTP OK message pattern. This bug leads to sound artefacts at the beginning of the stream caused by calling recv_pattern() with a buffer size larger than the HTTP OK message. It may thus happen that the buffer used by recv_pattern() contains not only the HTTP OK message but also the beginning of the stream. Since that buffer is discarded by recv_pattern(), the first few bytes of the stream are lost if this happens. Fix it by passing the exact length of the HTTP OK message to recv_pattern(). --- http_recv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/http_recv.c b/http_recv.c index 2e518b20..c7eb485a 100644 --- a/http_recv.c +++ b/http_recv.c @@ -119,7 +119,7 @@ static void http_recv_post_select(struct sched *s, struct task *t) if (!FD_ISSET(phd->fd, &s->rfds)) return; if (phd->status == HTTP_SENT_GET_REQUEST) { - t->error = recv_pattern(phd->fd, HTTP_OK_MSG, MAXLINE); + t->error = recv_pattern(phd->fd, HTTP_OK_MSG, strlen(HTTP_OK_MSG)); if (t->error >= 0) { PARA_INFO_LOG("received ok msg, streaming\n"); phd->status = HTTP_STREAMING; -- 2.39.2