From 8657eb9c3f4a498389cb8725760d1793c08c57fc Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 17 Aug 2024 01:11:50 +0200 Subject: [PATCH] avcodec/avcodec: Warn about data returned from get_buffer*() Text based on suggestion by: epirat07@gmail.com Signed-off-by: Michael Niedermayer --- doc/APIchanges | 6 ++++++ libavcodec/avcodec.h | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/doc/APIchanges b/doc/APIchanges index 173f317ea1..b81f1ae656 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,12 @@ The last version increases of all libraries were on 2024-03-07 API changes, most recent first: +2024-08-xx - xxxxxxxxx - lavc 61.11.100- avcodec.h + Clarify the documentation for get_buffer*() functions, making it + clear that the memory returned by them should not contain sensitive + information. This is not a change in the API, it is how it already worked + before. + 2024-08-10 - xxxxxxxxx - lavu 59.34.100 - hwcontext_vulkan.h Add qf and nb_qf to AVVulkanDeviceContext. Deprecate queue_family_index, nb_graphics_queues, diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 2da63c87ea..7a67300134 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1175,6 +1175,10 @@ typedef struct AVCodecContext { * this callback and filled with the extra buffers if there are more * buffers than buf[] can hold. extended_buf will be freed in * av_frame_unref(). + * Decoders will generally initialize the whole buffer before it is output + * but it can in rare error conditions happen that uninitialized data is passed + * through. \important The buffers returned by get_buffer* should thus not contain sensitive + * data. * * If AV_CODEC_CAP_DR1 is not set then get_buffer2() must call * avcodec_default_get_buffer2() instead of providing buffers allocated by