Commit a61b32df3f for ffmpeg

commit a61b32df3fd67f76c1c8c7ea51be2a66efb0f945
Author: Michael Niedermayer <michael@niedermayer.cc>
Date:   Wed Oct 21 18:26:56 2026 +0200

    avcodec/pcm-bluray: copy only whole samples on big-endian hosts

    Copy the same number of bytes the little-endian path consumes; the
    remaining bytes are left to the next call, which rejects them.

    Fixes: 6zek0xDeEzFA
    Regression since: bc057f7592
    Fixes: heap buffer overflow
    Heap buffer overflow write Replicated through UnModified FFmpeg with a guard page allocator (big-endian s390x build under qemu-user)

    Found during review of PR #23393

diff --git a/libavcodec/pcm-bluray.c b/libavcodec/pcm-bluray.c
index 194224c67e..fba7c8656d 100644
--- a/libavcodec/pcm-bluray.c
+++ b/libavcodec/pcm-bluray.c
@@ -167,7 +167,7 @@ static int pcm_bluray_decode_frame(AVCodecContext *avctx, AVFrame *frame,
             samples *= num_source_channels;
             if (AV_SAMPLE_FMT_S16 == avctx->sample_fmt) {
 #if HAVE_BIGENDIAN
-                bytestream2_get_buffer(&gb, (uint8_t*)dst16, buf_size);
+                bytestream2_get_buffer(&gb, (uint8_t*)dst16, samples * 2);
 #else
                 do {
                     *dst16++ = bytestream2_get_be16u(&gb);