summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-04-15 23:30:44 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-04-15 23:30:44 +0000
commit20a3f6169ce5eee2c2b908a4535fb8ac4967e6ec (patch)
tree30eaa7a5617489c06391bcbbc7e2e4109d736877 /libmpdemux
parent7a745b65602d9370bd43259cb2998343e7701bac (diff)
downloadmpv-20a3f6169ce5eee2c2b908a4535fb8ac4967e6ec.tar.bz2
mpv-20a3f6169ce5eee2c2b908a4535fb8ac4967e6ec.tar.xz
Fix potential buffer overflow if server answers with too many lines
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15173 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/realrtsp/rtsp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libmpdemux/realrtsp/rtsp.c b/libmpdemux/realrtsp/rtsp.c
index 196e957fdc..a7b8738704 100644
--- a/libmpdemux/realrtsp/rtsp.c
+++ b/libmpdemux/realrtsp/rtsp.c
@@ -397,6 +397,7 @@ static int rtsp_get_answers(rtsp_t *s) {
unsigned int answer_seq;
char **answer_ptr=s->answers;
int code;
+ int ans_count = 0;
answer=rtsp_get(s);
if (!answer)
@@ -448,7 +449,7 @@ static int rtsp_get_answers(rtsp_t *s) {
}
*answer_ptr=answer;
answer_ptr++;
- } while (strlen(answer)!=0);
+ } while ((strlen(answer)!=0) && (++ans_count < MAX_FIELDS));
s->cseq++;