History

Merge pull request #2337 from HaiboZhu/Add_Protection_wrong_API_call

Add protection for wrong API call without initialize

HaiboZhu committed 10 years ago

Commit 8eb4de12 parents 5e3e975 6d7bd2d1 file · +14 −0Browse files

Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 1 file). Show all

Unified · Split

codec/decoder/plus/src/welsDecoderExt.cpp+14−0
@@ -444,6 +444,13 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 443 unmodified lines
444444 const int kiSrcLen,
445445 unsigned char** ppDst,
446446 SBufferInfo* pDstInfo) {
447+ if (m_pDecContext == NULL || m_pDecContext->pParam == NULL) {
448+ if (m_pWelsTrace != NULL) {
449+ WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "Call DecodeFrame2 without Initialize.\n");
450+ }
451+ return dsInitialOptExpected;
452+ }
453+
447454 if (m_pDecContext->pParam->bParseOnly) {
448455 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "bParseOnly should be false for this API calling! \n");
449456 m_pDecContext->iErrorCode |= dsInvalidArgument;
@@ -590,6 +597,13 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 140 unmodified lines
590597 DECODING_STATE CWelsDecoder::DecodeParser (const unsigned char* kpSrc,
591598 const int kiSrcLen,
592599 SParserBsInfo* pDstInfo) {
600+ if (m_pDecContext == NULL || m_pDecContext->pParam == NULL) {
601+ if (m_pWelsTrace != NULL) {
602+ WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "Call DecodeParser without Initialize.\n");
603+ }
604+ return dsInitialOptExpected;
605+ }
606+
593607 if (!m_pDecContext->pParam->bParseOnly) {
594608 WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "bParseOnly should be true for this API calling! \n");
595609 m_pDecContext->iErrorCode |= dsInvalidArgument;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t