dri3: Guard against buggy clients
There's nothing to stop a client from sending these requests to screens without DRI3 support, and if they do, we'll crash. Let's not do that. Reviewed-by: Jasper St. Pierre <<jstpierre@mecheye.net> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
fe07ec19e2
commit
e6fafd3de7
|
@ -55,6 +55,9 @@ dri3_pixmap_from_fd(PixmapPtr *ppixmap, ScreenPtr screen, int fd,
|
|||
dri3_screen_info_ptr info = ds->info;
|
||||
PixmapPtr pixmap;
|
||||
|
||||
if (!info || !info->pixmap_from_fd)
|
||||
return BadImplementation;
|
||||
|
||||
pixmap = (*info->pixmap_from_fd) (screen, fd, width, height, stride, depth, bpp);
|
||||
if (!pixmap)
|
||||
return BadAlloc;
|
||||
|
@ -71,6 +74,9 @@ dri3_fd_from_pixmap(int *pfd, PixmapPtr pixmap, CARD16 *stride, CARD32 *size)
|
|||
dri3_screen_info_ptr info = ds->info;
|
||||
int fd;
|
||||
|
||||
if (!info || !info->fd_from_pixmap)
|
||||
return BadImplementation;
|
||||
|
||||
fd = (*info->fd_from_pixmap)(screen, pixmap, stride, size);
|
||||
if (fd < 0)
|
||||
return BadAlloc;
|
||||
|
|
Loading…
Reference in New Issue