[FFmpeg-cvslog] rtspenc: Check the return value from ffio_open_dyn_packet_buf
Martin Storsjö
git at videolan.org
Wed Aug 7 12:04:54 CEST 2013
ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed Aug 7 10:07:48 2013 +0300| [f542dedf72091af8e6f32a12bd64289c58857c21] | committer: Martin Storsjö
rtspenc: Check the return value from ffio_open_dyn_packet_buf
Also clear the AVIOContext handle after freeing, to avoid
possible dangling pointers if the later call fails.
Signed-off-by: Martin Storsjö <martin at martin.st>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f542dedf72091af8e6f32a12bd64289c58857c21
---
libavformat/rtspenc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavformat/rtspenc.c b/libavformat/rtspenc.c
index 9b3c7c9..d8e5b0e 100644
--- a/libavformat/rtspenc.c
+++ b/libavformat/rtspenc.c
@@ -145,6 +145,7 @@ static int tcp_write_packet(AVFormatContext *s, RTSPStream *rtsp_st)
uint8_t *interleave_header, *interleaved_packet;
size = avio_close_dyn_buf(rtpctx->pb, &buf);
+ rtpctx->pb = NULL;
ptr = buf;
while (size > 4) {
uint32_t packet_len = AV_RB32(ptr);
@@ -171,8 +172,7 @@ static int tcp_write_packet(AVFormatContext *s, RTSPStream *rtsp_st)
size -= packet_len;
}
av_free(buf);
- ffio_open_dyn_packet_buf(&rtpctx->pb, RTSP_TCP_MAX_PACKET_SIZE);
- return 0;
+ return ffio_open_dyn_packet_buf(&rtpctx->pb, RTSP_TCP_MAX_PACKET_SIZE);
}
static int rtsp_write_packet(AVFormatContext *s, AVPacket *pkt)
More information about the ffmpeg-cvslog
mailing list