diff options
Diffstat (limited to 'tests/nodedevxml2xmltest.c')
-rw-r--r-- | tests/nodedevxml2xmltest.c | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/tests/nodedevxml2xmltest.c b/tests/nodedevxml2xmltest.c index f6a1335a5..d0deaebb6 100644 --- a/tests/nodedevxml2xmltest.c +++ b/tests/nodedevxml2xmltest.c @@ -13,17 +13,15 @@ #include "node_device_conf.h" #include "testutilsqemu.h" -#define MAX_FILE 4096 - - -static int testCompareXMLToXMLFiles(const char *xml) { - char xmlData[MAX_FILE]; - char *xmlPtr = &(xmlData[0]); +static int +testCompareXMLToXMLFiles(const char *xml) +{ + char *xmlData = NULL; char *actual = NULL; int ret = -1; virNodeDeviceDefPtr dev = NULL; - if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0) + if (virtTestLoadFile(xml, &xmlData) < 0) goto fail; if (!(dev = virNodeDeviceDefParseString(xmlData, EXISTING_DEVICE))) @@ -40,16 +38,26 @@ static int testCompareXMLToXMLFiles(const char *xml) { ret = 0; fail: + free(xmlData); free(actual); virNodeDeviceDefFree(dev); return ret; } -static int testCompareXMLToXMLHelper(const void *data) { - char xml[PATH_MAX]; - snprintf(xml, PATH_MAX, "%s/nodedevschemadata/%s.xml", - abs_srcdir, (const char*)data); - return testCompareXMLToXMLFiles(xml); +static int +testCompareXMLToXMLHelper(const void *data) +{ + int result = -1; + char *xml = NULL; + + if (virAsprintf(&xml, "%s/nodedevschemadata/%s.xml", + abs_srcdir, (const char*)data) < 0) + return -1; + + result = testCompareXMLToXMLFiles(xml); + + free(xml); + return result; } |