aboutsummaryrefslogtreecommitdiffstats
path: root/src/decode.c
diff options
context:
space:
mode:
authorWarren Dukes <warren.dukes@gmail.com>2004-10-16 12:22:19 +0000
committerWarren Dukes <warren.dukes@gmail.com>2004-10-16 12:22:19 +0000
commit481a96ec40fccd5ab6025987adac0fbf83257bab (patch)
treed61d036580a2bd5aea8fd3e35df9d5b1408b72c4 /src/decode.c
parentc0e0c2460f19f750d7fb74f1f74d395c5a5c222c (diff)
downloadmpd-481a96ec40fccd5ab6025987adac0fbf83257bab.tar.gz
mpd-481a96ec40fccd5ab6025987adac0fbf83257bab.tar.xz
mpd-481a96ec40fccd5ab6025987adac0fbf83257bab.zip
#1) Fix a potential security hole, where mpd sends a line from a playlist to a client if the line is too long. But this is a rare circumstance, since the file would need to have a .m3u suffix and the line would need to be very long.
#2) Fix qball's bug, basically when we try todo initial buffering in decodeStart(), sleep for a few seconds after each attempt to finish init'ing the connection and begin buffering. git-svn-id: https://svn.musicpd.org/mpd/trunk@2236 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/decode.c')
-rw-r--r--src/decode.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/decode.c b/src/decode.c
index 138162150..7296e154c 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -286,7 +286,11 @@ void decodeStart(PlayerControl * pc, OutputBuffer * cb, DecoderControl * dc) {
dc->start = 0;
while(!inputStreamAtEOF(&inStream) && bufferInputStream(&inStream) < 0
- && !dc->stop);
+ && !dc->stop)
+ {
+ /* sleep so we don't consume 100% of the cpu */
+ my_usleep(1000);
+ }
if(dc->stop) {
dc->state = DECODE_STATE_STOP;