mirror of
https://github.com/mpv-player/mpv
synced 2025-03-11 08:37:59 +00:00
vo_vdpau: add a NULL check, verify image dimensions
read_output_surface() could fail and return NULL. Also, make sure we don't set the image to a size larger than the allocated size. Normally this shouldn't happen, but in theory it could in corner cases; this is for robustness.
This commit is contained in:
parent
57048c7393
commit
fb7d0c80cc
@ -881,7 +881,8 @@ static struct mp_image *get_window_screenshot(struct vo *vo)
|
||||
int last_surface = WRAP_ADD(vc->surface_num, -1, vc->num_output_surfaces);
|
||||
VdpOutputSurface screen = vc->output_surfaces[last_surface];
|
||||
struct mp_image *image = read_output_surface(vo, screen);
|
||||
mp_image_set_size(image, vo->dwidth, vo->dheight);
|
||||
if (image && image->w >= vo->dwidth && image->h >= vo->dheight)
|
||||
mp_image_set_size(image, vo->dwidth, vo->dheight);
|
||||
return image;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user