Am 12.04.2015 um 21:35 schrieb Himangi Saraogi:
---
This fixes CID 732219.
libavformat/rtsp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 42dbe96..c186b99 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -802,7 +802,7 @@ int ff_rtsp_open_transport_ctx(AVFormatContext *s,
RTSPStream *rtsp_st)
if (!st)
s->ctx_flags |= AVFMTCTX_NOHEADER;
- if (CONFIG_RTSP_MUXER && s->oformat) {
+ if (CONFIG_RTSP_MUXER && s->oformat && st) {
int ret = ff_rtp_chain_mux_open((AVFormatContext
**)&rtsp_st->transport_priv,
s, st, rtsp_st->rtp_handle,
RTSP_TCP_MAX_PACKET_SIZE,
@@ -814,7 +814,7 @@ int ff_rtsp_open_transport_ctx(AVFormatContext *s,
RTSPStream *rtsp_st)
st->time_base =
((AVFormatContext*)rtsp_st->transport_priv)->streams[0]->time_base;
} else if (rt->transport == RTSP_TRANSPORT_RAW) {
return 0; // Don't need to open any parser here
- } else if (CONFIG_RTPDEC && rt->transport == RTSP_TRANSPORT_RDT)
+ } else if (CONFIG_RTPDEC && rt->transport == RTSP_TRANSPORT_RDT && st)
rtsp_st->transport_priv = ff_rdt_parse_open(s, st->index,
rtsp_st->dynamic_protocol_context,
rtsp_st->dynamic_handler);
LGTM, this addresses the problem which was resported by coverity scan.
But I think this is only a part of the complete solution. If "st" is
NULL, it would also crash inside "ff_rtp_parse_open()" (espec., if H.264
or G.722 are used).
Could you also fix this in a separate patch? Maybe you can also
rearrange the "if" checks/branches and remove some duplicated conditions
in the code.
Best regards,
Thomas.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel