Signed-off-by: Eric Engestrom <eric.engestrom@xxxxxxxxx> --- xf86drm.c | 4 ++-- xf86drm.h | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/xf86drm.c b/xf86drm.c index 07425b19897d00a19e8a..95854e153ec7e9d264bc 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -317,7 +317,7 @@ static int drmOpenDevice(dev_t dev, int minor, int type) { stat_t st; const char *dev_name; - char buf[64]; + char buf[DRM_NODE_NAME_MAX]; int fd; mode_t devmode = DRM_DEV_MODE, serv_mode; gid_t serv_group; @@ -445,7 +445,7 @@ static int drmOpenDevice(dev_t dev, int minor, int type) static int drmOpenMinor(int minor, int create, int type) { int fd; - char buf[64]; + char buf[DRM_NODE_NAME_MAX]; const char *dev_name; if (create) diff --git a/xf86drm.h b/xf86drm.h index 18668ff3d40d7db55c95..00fbdb35a9a8fb5e9f27 100644 --- a/xf86drm.h +++ b/xf86drm.h @@ -93,6 +93,14 @@ extern "C" { #define DRM_CONTROL_DEV_NAME "%s/" DRM_CONTROL_MINOR_NAME "%d" #define DRM_RENDER_DEV_NAME "%s/" DRM_RENDER_MINOR_NAME "%d" +#define DRM_NODE_NAME_MAX \ + (sizeof(DRM_DIR_NAME) + 1 /* slash */ \ + + MAX3(sizeof(DRM_PRIMARY_MINOR_NAME), \ + sizeof(DRM_CONTROL_MINOR_NAME), \ + sizeof(DRM_RENDER_MINOR_NAME)) \ + + sizeof("64") /* highest possible node number */ \ + + 1) /* NULL-terminator */ + #define DRM_ERR_NO_DEVICE (-1001) #define DRM_ERR_NO_ACCESS (-1002) #define DRM_ERR_NOT_ROOT (-1003) -- Cheers, Eric _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel