From 42f9582d8da0176130993f02be908bec348ef3e4 Mon Sep 17 00:00:00 2001 From: qrtt1 Date: Tue, 5 Oct 2010 14:04:46 +0000 Subject: [PATCH] Set proper error if server flags indicate that it doesn't support mmst. This prevents a read-after-close-induced segfault later. Fixes issue 2266. Patch by qrtt1 . Originally committed as revision 25349 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mmst.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavformat/mmst.c b/libavformat/mmst.c index 3d12d82b73..57cca5d0d4 100644 --- a/libavformat/mmst.c +++ b/libavformat/mmst.c @@ -547,8 +547,12 @@ static int mms_open(URLContext *h, const char *uri, int flags) err = mms_safe_send_recv(mmst, NULL, SC_PKT_ASF_HEADER); if (err) goto fail; - if((mmst->incoming_flags != 0X08) && (mmst->incoming_flags != 0X0C)) + if((mmst->incoming_flags != 0X08) && (mmst->incoming_flags != 0X0C)) { + av_log(NULL, AV_LOG_ERROR, + "The server does not support MMST (try MMSH or RTSP)\n"); + err = AVERROR_NOFMT; goto fail; + } err = ff_mms_asf_header_parser(mms); if (err) { dprintf(NULL, "asf header parsed failed!\n");