summaryrefslogtreecommitdiffstats
path: root/stream/librtsp
diff options
context:
space:
mode:
authorrtogni <rtogni@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-25 19:00:39 +0000
committerrtogni <rtogni@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-25 19:00:39 +0000
commitdcc70f58498fa0be8f455c8ffa73126d45bcd532 (patch)
treef94f542c9d6ad071835c9ae49429eb1304ad278c /stream/librtsp
parent7a370b589fb50a7e2a03416237d2f647891fbfe9 (diff)
downloadmpv-dcc70f58498fa0be8f455c8ffa73126d45bcd532.tar.bz2
mpv-dcc70f58498fa0be8f455c8ffa73126d45bcd532.tar.xz
Check buffer size in header dump functions
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22821 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream/librtsp')
-rw-r--r--stream/librtsp/rtsp_session.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/stream/librtsp/rtsp_session.c b/stream/librtsp/rtsp_session.c
index cdc8d3d381..a3559212b2 100644
--- a/stream/librtsp/rtsp_session.c
+++ b/stream/librtsp/rtsp_session.c
@@ -148,7 +148,17 @@ rtsp_session_t *rtsp_session_start(int fd, char **mrl, char *path, char *host,
mp_msg(MSGT_OPEN, MSGL_V, "smil-over-realrtsp playlist, switching to raw rdt mode\n");
} else {
rtsp_session->real_session->header_len =
- rmff_dump_header (h, (char *) rtsp_session->real_session->header, 1024);
+ rmff_dump_header (h, (char *) rtsp_session->real_session->header, HEADER_SIZE);
+
+ if (rtsp_session->real_session->header_len < 0) {
+ mp_msg (MSGT_OPEN, MSGL_ERR,"rtsp_session: error while dumping RMFF headers, session can not be established.\n");
+ free_real_rtsp_session(rtsp_session->real_session);
+ rtsp_close(rtsp_session->s);
+ free (server);
+ free (mrl_line);
+ free(rtsp_session);
+ return NULL;
+ }
rtsp_session->real_session->recv =
xbuffer_copyin (rtsp_session->real_session->recv, 0,