summaryrefslogtreecommitdiff
path: root/src/input/librtsp
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2008-01-11 17:18:29 +0000
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2008-01-11 17:18:29 +0000
commit395417c0145ee0549cb2268feb4ba762ed1ebf43 (patch)
tree5fccad63049b63fdfe46c2dd9d9ce5f718b35b35 /src/input/librtsp
parentde085a0169d4a3701c67a74869ce0fb8ced6d6ae (diff)
parent4e63c284d8e45a33041806d201124985b8089e3e (diff)
downloadxine-lib-395417c0145ee0549cb2268feb4ba762ed1ebf43.tar.gz
xine-lib-395417c0145ee0549cb2268feb4ba762ed1ebf43.tar.bz2
Merge from 1.1.
Diffstat (limited to 'src/input/librtsp')
-rw-r--r--src/input/librtsp/rtsp_session.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/input/librtsp/rtsp_session.c b/src/input/librtsp/rtsp_session.c
index 5cb0dfb63..d8f7ae583 100644
--- a/src/input/librtsp/rtsp_session.c
+++ b/src/input/librtsp/rtsp_session.c
@@ -148,6 +148,11 @@ connect:
rtsp_session->header_left =
rtsp_session->header_len = rmff_dump_header(h,rtsp_session->header,HEADER_SIZE);
+ if (rtsp_session->header_len < 0) {
+ xprintf (stream->xine, XINE_VERBOSITY_LOG,
+ _("rtsp_session: rtsp server returned overly-large headers, session can not be established.\n"));
+ goto session_abort;
+ }
xine_buffer_copyin(rtsp_session->recv, 0, rtsp_session->header, rtsp_session->header_len);
rtsp_session->recv_size = rtsp_session->header_len;
@@ -157,6 +162,7 @@ connect:
{
xprintf(stream->xine, XINE_VERBOSITY_LOG,
_("rtsp_session: rtsp server type '%s' not supported yet. sorry.\n"), server);
+ session_abort:
rtsp_close(rtsp_session->s);
free(server);
xine_buffer_free(rtsp_session->recv);