From 25e3e53d4092e7b69a4d681824fa0f7b2731bb1e Mon Sep 17 00:00:00 2001 From: Luca Abeni <lucabe72@email.it> Date: Mon, 17 Sep 2007 12:47:44 +0000 Subject: [PATCH] Fix an ffserver crash when a non-existing rtsp: url is requested Originally committed as revision 10519 to svn://svn.ffmpeg.org/ffmpeg/trunk --- ffserver.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ffserver.c b/ffserver.c index 6d9af54ad5b..96eb4fe0fab 100644 --- a/ffserver.c +++ b/ffserver.c @@ -1627,7 +1627,7 @@ static void compute_stats(HTTPContext *c) strcpy(eosf - 4, ".asx"); else if (strcmp(eosf - 3, ".rm") == 0) strcpy(eosf - 3, ".ram"); - else if (!strcmp(stream->fmt->name, "rtp")) { + else if (stream->fmt && !strcmp(stream->fmt->name, "rtp")) { /* generate a sample RTSP director if unicast. Generate an SDP redirector if multicast */ @@ -2684,7 +2684,8 @@ static void rtsp_cmd_describe(HTTPContext *c, const char *url) path++; for(stream = first_stream; stream != NULL; stream = stream->next) { - if (!stream->is_feed && !strcmp(stream->fmt->name, "rtp") && + if (!stream->is_feed && + stream->fmt && !strcmp(stream->fmt->name, "rtp") && !strcmp(path, stream->filename)) { goto found; } @@ -2759,7 +2760,8 @@ static void rtsp_cmd_setup(HTTPContext *c, const char *url, /* now check each stream */ for(stream = first_stream; stream != NULL; stream = stream->next) { - if (!stream->is_feed && !strcmp(stream->fmt->name, "rtp")) { + if (!stream->is_feed && + stream->fmt && !strcmp(stream->fmt->name, "rtp")) { /* accept aggregate filenames only if single stream */ if (!strcmp(path, stream->filename)) { if (stream->nb_streams != 1) { @@ -3296,7 +3298,7 @@ static void build_file_streams(void) /* try to open the file */ /* open stream */ stream->ap_in = av_mallocz(sizeof(AVFormatParameters)); - if (!strcmp(stream->fmt->name, "rtp")) { + if (stream->fmt && !strcmp(stream->fmt->name, "rtp")) { /* specific case : if transport stream output to RTP, we use a raw transport stream reader */ stream->ap_in->mpeg2ts_raw = 1; -- GitLab