From a4f9920a092213d43ec824b43ee11bf2752ed6b9 Mon Sep 17 00:00:00 2001 From: ejurgensen Date: Wed, 11 Dec 2013 23:11:50 +0100 Subject: [PATCH] Fix error in boundary check in raop.c: raop_v2_resend_range - this prevents crashing when using AirBubble as speaker - also lower log level to warning --- src/raop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/raop.c b/src/raop.c index b535c9c4..cf08c41f 100644 --- a/src/raop.c +++ b/src/raop.c @@ -3259,9 +3259,9 @@ raop_v2_resend_range(struct raop_session *rs, uint16_t seqnum, uint16_t len) uint16_t distance; /* Check that seqnum is in the retransmit buffer */ - if ((seqnum > pktbuf_head->seqnum) && (seqnum < pktbuf_tail->seqnum)) + if ((seqnum > pktbuf_head->seqnum) || (seqnum < pktbuf_tail->seqnum)) { - DPRINTF(E_LOG, L_RAOP, "RAOP device %s asking for seqnum %u; not in buffer (h %u t %u)\n", rs->devname, seqnum, pktbuf_head->seqnum, pktbuf_tail->seqnum); + DPRINTF(E_WARN, L_RAOP, "RAOP device %s asking for seqnum %u; not in buffer (h %u t %u)\n", rs->devname, seqnum, pktbuf_head->seqnum, pktbuf_tail->seqnum); return; }