[FFmpeg-cvslog] avutil/hwcontext_d3d11va: fix texture_infos writes on non-fixed-size pools

2022-07-17 Thread Timo Rothenpieler
ffmpeg | branch: release/5.0 | Timo Rothenpieler  | Wed 
Jul  6 01:32:27 2022 +0200| [54e0971edbd6cf783f6209d762514633f6d9d413] | 
committer: Timo Rothenpieler

avutil/hwcontext_d3d11va: fix texture_infos writes on non-fixed-size pools

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=54e0971edbd6cf783f6209d762514633f6d9d413
---

 libavutil/hwcontext_d3d11va.c | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
index 8ab96bad25..b55deb0d88 100644
--- a/libavutil/hwcontext_d3d11va.c
+++ b/libavutil/hwcontext_d3d11va.c
@@ -166,6 +166,17 @@ static AVBufferRef *wrap_texture_buf(AVHWFramesContext 
*ctx, ID3D11Texture2D *te
 return NULL;
 }
 
+if (s->nb_surfaces <= s->nb_surfaces_used) {
+frames_hwctx->texture_infos = av_realloc_f(frames_hwctx->texture_infos,
+   s->nb_surfaces_used + 1,
+   
sizeof(*frames_hwctx->texture_infos));
+if (!frames_hwctx->texture_infos) {
+ID3D11Texture2D_Release(tex);
+return NULL;
+}
+s->nb_surfaces = s->nb_surfaces_used + 1;
+}
+
 frames_hwctx->texture_infos[s->nb_surfaces_used].texture = tex;
 frames_hwctx->texture_infos[s->nb_surfaces_used].index = index;
 s->nb_surfaces_used++;
@@ -284,7 +295,7 @@ static int d3d11va_frames_init(AVHWFramesContext *ctx)
 }
 }
 
-hwctx->texture_infos = av_calloc(ctx->initial_pool_size, 
sizeof(*hwctx->texture_infos));
+hwctx->texture_infos = av_realloc_f(NULL, ctx->initial_pool_size, 
sizeof(*hwctx->texture_infos));
 if (!hwctx->texture_infos)
 return AVERROR(ENOMEM);
 s->nb_surfaces = ctx->initial_pool_size;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-cvslog] avutil/hwcontext_d3d11va: fix texture_infos writes on non-fixed-size pools

2022-07-17 Thread Timo Rothenpieler
ffmpeg | branch: release/5.1 | Timo Rothenpieler  | Wed 
Jul  6 01:32:27 2022 +0200| [d6a1e5980bbf5993882453e0d833d0afbeeeac4a] | 
committer: Timo Rothenpieler

avutil/hwcontext_d3d11va: fix texture_infos writes on non-fixed-size pools

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d6a1e5980bbf5993882453e0d833d0afbeeeac4a
---

 libavutil/hwcontext_d3d11va.c | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
index 904d14bbc8..1bc8b6c82c 100644
--- a/libavutil/hwcontext_d3d11va.c
+++ b/libavutil/hwcontext_d3d11va.c
@@ -166,6 +166,17 @@ static AVBufferRef *wrap_texture_buf(AVHWFramesContext 
*ctx, ID3D11Texture2D *te
 return NULL;
 }
 
+if (s->nb_surfaces <= s->nb_surfaces_used) {
+frames_hwctx->texture_infos = av_realloc_f(frames_hwctx->texture_infos,
+   s->nb_surfaces_used + 1,
+   
sizeof(*frames_hwctx->texture_infos));
+if (!frames_hwctx->texture_infos) {
+ID3D11Texture2D_Release(tex);
+return NULL;
+}
+s->nb_surfaces = s->nb_surfaces_used + 1;
+}
+
 frames_hwctx->texture_infos[s->nb_surfaces_used].texture = tex;
 frames_hwctx->texture_infos[s->nb_surfaces_used].index = index;
 s->nb_surfaces_used++;
@@ -284,7 +295,7 @@ static int d3d11va_frames_init(AVHWFramesContext *ctx)
 }
 }
 
-hwctx->texture_infos = av_calloc(ctx->initial_pool_size, 
sizeof(*hwctx->texture_infos));
+hwctx->texture_infos = av_realloc_f(NULL, ctx->initial_pool_size, 
sizeof(*hwctx->texture_infos));
 if (!hwctx->texture_infos)
 return AVERROR(ENOMEM);
 s->nb_surfaces = ctx->initial_pool_size;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".


[FFmpeg-cvslog] avutil/hwcontext_d3d11va: fix texture_infos writes on non-fixed-size pools

2022-07-17 Thread Timo Rothenpieler
ffmpeg | branch: master | Timo Rothenpieler  | Wed Jul  
6 01:32:27 2022 +0200| [30bbc0a624bc43fa4aaabd695546ad426d0d086b] | committer: 
Timo Rothenpieler

avutil/hwcontext_d3d11va: fix texture_infos writes on non-fixed-size pools

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=30bbc0a624bc43fa4aaabd695546ad426d0d086b
---

 libavutil/hwcontext_d3d11va.c | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
index e5afcb2a9d..6355bd1e29 100644
--- a/libavutil/hwcontext_d3d11va.c
+++ b/libavutil/hwcontext_d3d11va.c
@@ -166,6 +166,17 @@ static AVBufferRef *wrap_texture_buf(AVHWFramesContext 
*ctx, ID3D11Texture2D *te
 return NULL;
 }
 
+if (s->nb_surfaces <= s->nb_surfaces_used) {
+frames_hwctx->texture_infos = av_realloc_f(frames_hwctx->texture_infos,
+   s->nb_surfaces_used + 1,
+   
sizeof(*frames_hwctx->texture_infos));
+if (!frames_hwctx->texture_infos) {
+ID3D11Texture2D_Release(tex);
+return NULL;
+}
+s->nb_surfaces = s->nb_surfaces_used + 1;
+}
+
 frames_hwctx->texture_infos[s->nb_surfaces_used].texture = tex;
 frames_hwctx->texture_infos[s->nb_surfaces_used].index = index;
 s->nb_surfaces_used++;
@@ -284,7 +295,7 @@ static int d3d11va_frames_init(AVHWFramesContext *ctx)
 }
 }
 
-hwctx->texture_infos = av_calloc(ctx->initial_pool_size, 
sizeof(*hwctx->texture_infos));
+hwctx->texture_infos = av_realloc_f(NULL, ctx->initial_pool_size, 
sizeof(*hwctx->texture_infos));
 if (!hwctx->texture_infos)
 return AVERROR(ENOMEM);
 s->nb_surfaces = ctx->initial_pool_size;

___
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".