From c50c664de597d11682d83dc693729db22fd0b369 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Tue, 30 Jun 2015 15:53:53 -0400 Subject: [PATCH] util: Resolve Coverity FORWARD_NULL Convert virPCIDriverDir to return the buffer allocated (or not) and make the appropriate check in the caller. Signed-off-by: John Ferlan --- src/util/virpci.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/util/virpci.c b/src/util/virpci.c index 28cee9d9b0..35b145931a 100644 --- a/src/util/virpci.c +++ b/src/util/virpci.c @@ -204,14 +204,13 @@ static int virPCIOnceInit(void) VIR_ONCE_GLOBAL_INIT(virPCI) -static int -virPCIDriverDir(char **buffer, const char *driver) +static char * +virPCIDriverDir(const char *driver) { - VIR_FREE(*buffer); + char *buffer; - if (virAsprintf(buffer, PCI_SYSFS "drivers/%s", driver) < 0) - return -1; - return 0; + ignore_value(virAsprintf(&buffer, PCI_SYSFS "drivers/%s", driver)); + return buffer; } @@ -998,7 +997,7 @@ virPCIProbeStubDriver(const char *driver) bool probed = false; recheck: - if (virPCIDriverDir(&drvpath, driver) == 0 && virFileExists(drvpath)) { + if ((drvpath = virPCIDriverDir(driver)) && virFileExists(drvpath)) { /* driver already loaded, return */ VIR_FREE(drvpath); return 0; @@ -1188,7 +1187,7 @@ virPCIDeviceBindToStub(virPCIDevicePtr dev, char *newDriverName = NULL; virErrorPtr err = NULL; - if (virPCIDriverDir(&stubDriverPath, stubDriverName) < 0 || + if (!(stubDriverPath = virPCIDriverDir(stubDriverName)) || !(driverLink = virPCIFile(dev->name, "driver")) || VIR_STRDUP(newDriverName, stubDriverName) < 0) goto cleanup; -- GitLab