diff options
-rw-r--r-- | src/loader/loader.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/loader/loader.c b/src/loader/loader.c index 913b3dcac03..92b4c5204b1 100644 --- a/src/loader/loader.c +++ b/src/loader/loader.c @@ -110,17 +110,16 @@ static char *loader_get_dri_config_device_id(void) static char *drm_construct_id_path_tag(drmDevicePtr device) { -#define PCI_ID_PATH_TAG_LENGTH sizeof("pci-xxxx_xx_xx_x") char *tag = NULL; if (device->bustype == DRM_BUS_PCI) { - tag = calloc(PCI_ID_PATH_TAG_LENGTH, sizeof(char)); - if (tag == NULL) - return NULL; - - snprintf(tag, PCI_ID_PATH_TAG_LENGTH, "pci-%04x_%02x_%02x_%1u", - device->businfo.pci->domain, device->businfo.pci->bus, - device->businfo.pci->dev, device->businfo.pci->func); + if (asprintf(&tag, "pci-%04x_%02x_%02x_%1u", + device->businfo.pci->domain, + device->businfo.pci->bus, + device->businfo.pci->dev, + device->businfo.pci->func) < 0) { + return NULL; + } } return tag; } |