From 7075c084fc5699d76970d2f045c8c7c668dc53d8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sat, 10 Feb 2018 10:45:18 +0000 Subject: [PATCH] loader: Fix compiler warnings about truncating the PCI ID path. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit My build was producing: ../src/loader/loader.c:121:67: warning: ‘%1u’ directive output may be truncated writing between 1 and 3 bytes into a region of size 2 [-Wformat-truncation=] and we can avoid this careful calculation by just using asprintf (as we do elsewhere in the file). Reviewed-by: Eric Engestrom Reviewed-by: Emil Velikov Reviewed-by: Ian Romanick --- src/loader/loader.c | 15 +++++++-------- 1 file 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; } -- 2.30.2