mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 07:47:17 +00:00
video-frame: avoid possible out of bound memory access
Although the components' initialization code would fill in -1 to all unset components, make the code a bit more defensive and check for an index bound first. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2231>
This commit is contained in:
parent
0dd04764f7
commit
c4255f08f7
1 changed files with 4 additions and 2 deletions
|
@ -283,7 +283,7 @@ scale_tile_shifts (const GstVideoFormatInfo * finfo, gint plane, guint * ws,
|
||||||
guint * hs)
|
guint * hs)
|
||||||
{
|
{
|
||||||
gint comp[GST_VIDEO_MAX_COMPONENTS];
|
gint comp[GST_VIDEO_MAX_COMPONENTS];
|
||||||
gint i;
|
gint i = 1;
|
||||||
|
|
||||||
gst_video_format_info_component (finfo, plane, comp);
|
gst_video_format_info_component (finfo, plane, comp);
|
||||||
|
|
||||||
|
@ -294,8 +294,10 @@ scale_tile_shifts (const GstVideoFormatInfo * finfo, gint plane, guint * ws,
|
||||||
/* for each additional component in the same plane, double the tile width,
|
/* for each additional component in the same plane, double the tile width,
|
||||||
* this should provide the appropriate tile size when the tile size varies
|
* this should provide the appropriate tile size when the tile size varies
|
||||||
* base on the subsampling. */
|
* base on the subsampling. */
|
||||||
for (i = 1; comp[i] >= 0; i++)
|
while (i < GST_VIDEO_MAX_COMPONENTS && comp[i] >= 0) {
|
||||||
*ws += 1;
|
*ws += 1;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue