This repository was archived by the owner on Oct 23, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +15
-6
lines changed Expand file tree Collapse file tree 2 files changed +15
-6
lines changed Original file line number Diff line number Diff line change @@ -69,9 +69,10 @@ FramePacket::FramePacket (AVPacket *packet)
6969 : m_packet(NULL )
7070{
7171 m_packet = (AVPacket *)malloc (sizeof (AVPacket));
72-
73- av_init_packet (m_packet);
74- av_packet_ref (m_packet, packet);
72+ if (m_packet) {
73+ av_init_packet (m_packet);
74+ av_packet_ref (m_packet, packet);
75+ }
7576}
7677
7778FramePacket::~FramePacket ()
@@ -1153,6 +1154,10 @@ bool LiveStreamIn::parse_avcC(AVPacket *pkt) {
11531154
11541155 nals_buf_length += nalsize + 4 ;
11551156 nals_buf = (uint8_t *)realloc (nals_buf, nals_buf_length);
1157+ if (nals_buf == nullptr ) {
1158+ ELOG_ERROR_T (" OOM! Allocate size %d" , nals_buf_length);
1159+ return false ;
1160+ }
11561161 }
11571162
11581163 nals_buf[nals_size] = 0 ;
Original file line number Diff line number Diff line change @@ -466,9 +466,13 @@ void MsdkFrameDecoder::updateBitstream(const Frame& frame)
466466 }
467467
468468 if (m_bitstream->DataOffset + m_bitstream->DataLength + frame.length > m_bitstream->MaxLength ) {
469- memmove (m_bitstream->Data , m_bitstream->Data + m_bitstream->DataOffset , m_bitstream->DataLength );
470- m_bitstream->DataOffset = 0 ;
471- ELOG_TRACE_T (" Move bitstream buffer offset" );
469+ if (m_bitstream->Data ) {
470+ memmove (m_bitstream->Data , m_bitstream->Data + m_bitstream->DataOffset , m_bitstream->DataLength );
471+ m_bitstream->DataOffset = 0 ;
472+ ELOG_TRACE_T (" Move bitstream buffer offset" );
473+ } else { // make code scanner happy
474+ return ;
475+ }
472476 }
473477
474478 memcpy (m_bitstream->Data + m_bitstream->DataOffset + m_bitstream->DataLength , frame.payload , frame.length );
You can’t perform that action at this time.
0 commit comments