diff --git a/xf86drm.c b/xf86drm.c index 52add5e4..9b97bbb6 100644 --- a/xf86drm.c +++ b/xf86drm.c @@ -2864,7 +2864,7 @@ static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info) { #ifdef __linux__ char path[PATH_MAX + 1]; - char data[128 + 1]; + char data[512 + 1]; char *str; int domain, bus, dev, func; int fd, ret; @@ -2875,7 +2875,7 @@ static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info) return -errno; ret = read(fd, data, sizeof(data)); - data[128] = '\0'; + data[sizeof(data)-1] = '\0'; close(fd); if (ret < 0) return -errno;