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.
Signed-off-by: Adam Jackson <[email protected]> --- dri3/dri3_screen.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dri3/dri3_screen.c b/dri3/dri3_screen.c index cf2735b..c880296 100644 --- a/dri3/dri3_screen.c +++ b/dri3/dri3_screen.c @@ -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; -- 1.8.4.2 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
