libavformat/rtsp.c:903: error: Null Dereference
  pointer `st` last assigned on line 894 could be null and is dereferenced at line 903, column 56.

libavformat/rtsp.c:890:1: start of procedure rtsp_open_transport_ctx()
888. }
889. 
890. static int
     ^
891. rtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)
892. {

libavformat/rtsp.c:893:5: 
891. rtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)
892. {
893.     RTSPState *rt = s->priv_data;
         ^
894.     AVStream *st = NULL;
895. 

libavformat/rtsp.c:894:5: 
892. {
893.     RTSPState *rt = s->priv_data;
894.     AVStream *st = NULL;
         ^
895. 
896.     /* open the RTP context */

libavformat/rtsp.c:897:9: Taking false branch
895. 
896.     /* open the RTP context */
897.     if (rtsp_st->stream_index >= 0)
             ^
898.         st = s->streams[rtsp_st->stream_index];
899.     if (!st)

libavformat/rtsp.c:899:10: Taking true branch
897.     if (rtsp_st->stream_index >= 0)
898.         st = s->streams[rtsp_st->stream_index];
899.     if (!st)
              ^
900.         s->ctx_flags |= AVFMTCTX_NOHEADER;
901. 

libavformat/rtsp.c:900:9: 
898.         st = s->streams[rtsp_st->stream_index];
899.     if (!st)
900.         s->ctx_flags |= AVFMTCTX_NOHEADER;
             ^
901. 
902.     if (rt->transport == RTSP_TRANSPORT_RDT)

libavformat/rtsp.c:902:9: Taking true branch
900.         s->ctx_flags |= AVFMTCTX_NOHEADER;
901. 
902.     if (rt->transport == RTSP_TRANSPORT_RDT)
             ^
903.         rtsp_st->transport_priv = ff_rdt_parse_open(s, st->index,
904.                                             rtsp_st->dynamic_protocol_context,

libavformat/rtsp.c:903:9: 
901. 
902.     if (rt->transport == RTSP_TRANSPORT_RDT)
903.         rtsp_st->transport_priv = ff_rdt_parse_open(s, st->index,
             ^
904.                                             rtsp_st->dynamic_protocol_context,
905.                                             rtsp_st->dynamic_handler);

static int
rtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)
{
    RTSPState *rt = s->priv_data;
    AVStream *st = NULL;
    if (rtsp_st->stream_index >= 0)
        st = s->streams[rtsp_st->stream_index];
    if (!st)
        s->ctx_flags |= AVFMTCTX_NOHEADER;
    if (rt->transport == RTSP_TRANSPORT_RDT)
        rtsp_st->transport_priv = ff_rdt_parse_open(s, st->index,
                                            rtsp_st->dynamic_protocol_context,
                                            rtsp_st->dynamic_handler);
    else
        rtsp_st->transport_priv = rtp_parse_open(s, st, rtsp_st->rtp_handle,
                                         rtsp_st->sdp_payload_type,
                                         &rtsp_st->rtp_payload_data);
    if (!rtsp_st->transport_priv) {
         return AVERROR(ENOMEM);
    } else if (rt->transport != RTSP_TRANSPORT_RDT) {
        if(rtsp_st->dynamic_handler) {
            rtp_parse_set_dynamic_protocol(rtsp_st->transport_priv,
                                           rtsp_st->dynamic_protocol_context,
                                           rtsp_st->dynamic_handler);
        }
    }
    return 0;
}
['static int\nrtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)\n{\n    RTSPState *rt = s->priv_data;\n    AVStream *st = NULL;\n    if (rtsp_st->stream_index >= 0)\n        st = s->streams[rtsp_st->stream_index];\n    if (!st)\n        s->ctx_flags |= AVFMTCTX_NOHEADER;\n    if (rt->transport == RTSP_TRANSPORT_RDT)\n        rtsp_st->transport_priv = ff_rdt_parse_open(s, st->index,\n                                            rtsp_st->dynamic_protocol_context,\n                                            rtsp_st->dynamic_handler);\n    else\n        rtsp_st->transport_priv = rtp_parse_open(s, st, rtsp_st->rtp_handle,\n                                         rtsp_st->sdp_payload_type,\n                                         &rtsp_st->rtp_payload_data);\n    if (!rtsp_st->transport_priv) {\n         return AVERROR(ENOMEM);\n    } else if (rt->transport != RTSP_TRANSPORT_RDT) {\n        if(rtsp_st->dynamic_handler) {\n            rtp_parse_set_dynamic_protocol(rtsp_st->transport_priv,\n                                           rtsp_st->dynamic_protocol_context,\n                                           rtsp_st->dynamic_handler);\n        }\n    }\n    return 0;\n}']