[Mesa-dev] [PATCH v3] egl/dri2: use drm macros to construct device name

Matt Turner mattst88 at gmail.com
Wed Apr 2 23:09:09 PDT 2014


On Wed, Apr 2, 2014 at 10:22 PM, Jonathan Gray <jsg at jsg.id.au> wrote:
> Don't hardcode /dev/dri/card0 but instead use the drm
> macros which allows the correct /dev/drm0 device to be
> opened on OpenBSD.
>
> v2: use snprintf and fallback to /dev/dri/card0
> v3: check for snprintf truncation
>
> Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
> ---
>  src/egl/drivers/dri2/platform_drm.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c
> index 2f7edb9..9a7633a 100644
> --- a/src/egl/drivers/dri2/platform_drm.c
> +++ b/src/egl/drivers/dri2/platform_drm.c
> @@ -492,7 +492,12 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
>
>     gbm = disp->PlatformDisplay;
>     if (gbm == NULL) {
> -      fd = open("/dev/dri/card0", O_RDWR);
> +      char buf[64];
> +      int n = snprintf(buf, sizeof(buf), DRM_DEV_NAME, DRM_DIR_NAME, 0);
> +      if (n != -1 && n < sizeof(buf))

n <= sizeof(buf), right? snprintf writes up to sizeof(buf) bytes,
including the nul character.

With that fixed,

Reviewed-by: Matt Turner <mattst88 at gmail.com>


More information about the mesa-dev mailing list