History

1. use WELS_CLIP1 to replace table look-up; 2. fix bugs about buffer overflow 3. add more boundary checks

Licai Guo committed 12 years ago

Commit fc56c7d1 parent 99412b07 files · +106 −79Browse files

Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 7 files). Show all

Unified · Split

codec/decoder/core/src/au_parser.cpp+15−0
@@ -220,6 +220,21 @@ uint8_t* ParseNalHeader (PWelsDecoderContext pCtx, SNalUnitHeader* pNalUnitHeade · 219 unmodified lines
220 }220 }
221 221
222 DecodeNalHeaderExt (pCurNal, pNal);222 DecodeNalHeaderExt (pCurNal, pNal);
223 if ((pCurNal->sNalHeaderExt.uiQualityId != 0) || (pCurNal->sNalHeaderExt.bUseRefBasePicFlag != 0)) {
224 WelsLog (pCtx, WELS_LOG_WARNING,
225 "ParseNalHeader() in Prefix Nal Unit:uiQualityId (%d) != 0, bUseRefBasePicFlag (%d) != 0, not supported!\n",
226 pCurNal->sNalHeaderExt.uiQualityId, pCurNal->sNalHeaderExt.bUseRefBasePicFlag);
227 PAccessUnit pCurAu = pCtx->pAccessUnitList;
228 uint32_t uiAvailNalNum = pCurAu->uiAvailUnitsNum;
229 ForceClearCurrentNal (pCurAu);
230
231 if (uiAvailNalNum > 1) {
232 pCurAu->uiEndPos = uiAvailNalNum - 2;
233 pCtx->bAuReadyFlag = true;
234 }
235 pCtx->iErrorCode |= dsInvalidArgument;
236 return NULL;
237 }
223 238
224 pNal += NAL_UNIT_HEADER_EXT_SIZE;239 pNal += NAL_UNIT_HEADER_EXT_SIZE;
225 iNalSize -= NAL_UNIT_HEADER_EXT_SIZE;240 iNalSize -= NAL_UNIT_HEADER_EXT_SIZE;

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