You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openh264/0001-Fix-off-by-one-regress...

30 lines
1.3 KiB

From fd66e67ac6136aff80b1567488568ba1ed7e8fb8 Mon Sep 17 00:00:00 2001
From: Kalev Lember <klember@redhat.com>
Date: Mon, 4 Dec 2023 07:54:04 +0100
Subject: [PATCH] Fix off by one regression in decoder (#3704)
Fix iPicBuffIdx bounds check introduced in commit
986bd65b711191d4883c54ace32a9879e17729c2 and allow 0 as an index value.
This fixes Big_Buck_Bunny_720_10s_30MB.mp4 playback with gst-play-1.0.
---
codec/decoder/plus/src/welsDecoderExt.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/codec/decoder/plus/src/welsDecoderExt.cpp b/codec/decoder/plus/src/welsDecoderExt.cpp
index 170d17de..457effb6 100644
--- a/codec/decoder/plus/src/welsDecoderExt.cpp
+++ b/codec/decoder/plus/src/welsDecoderExt.cpp
@@ -1136,7 +1136,7 @@ void CWelsDecoder::ReleaseBufferedReadyPictureReorder (PWelsDecoderContext pCtx,
m_sPictInfoList[m_sReoderingStatus.iPictInfoIndex].iPOC = IMinInt32;
int32_t iPicBuffIdx = m_sPictInfoList[m_sReoderingStatus.iPictInfoIndex].iPicBuffIdx;
if (pPicBuff != NULL) {
- if (iPicBuffIdx > 0 && iPicBuffIdx < pPicBuff->iCapacity)
+ if (iPicBuffIdx >= 0 && iPicBuffIdx < pPicBuff->iCapacity)
{
PPicture pPic = pPicBuff->ppPic[iPicBuffIdx];
--pPic->iRefCount;
--
2.41.0