diff options
author | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-04-15 23:30:44 +0000 |
---|---|---|
committer | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-04-15 23:30:44 +0000 |
commit | 20a3f6169ce5eee2c2b908a4535fb8ac4967e6ec (patch) | |
tree | 30eaa7a5617489c06391bcbbc7e2e4109d736877 /libmpdemux | |
parent | 7a745b65602d9370bd43259cb2998343e7701bac (diff) | |
download | mpv-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.c | 3 |
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++; |