summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nodedevxml2xmltest.c')
-rw-r--r--tests/nodedevxml2xmltest.c32
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;
}