from Shigeki Sakamoto about large buffers.
Daniel
+Mon Apr 23 09:38:16 CEST 2007 Daniel Veillard <veillard@redhat.com>
+
+ * src/internal.h src/xend_internal.c src/xml.c: applied 2 bug fixes
+ from Shigeki Sakamoto about large buffers.
+
Thu Apr 19 12:09:15 IST 2007 Mark McLoughlin <markmc@redhat.com>
* docs/libvirt.rng: fix duplicate x86_64 arch
*/
#define VIR_CONNECT_RO 1
+/**
+ * buffer size for definition file
+ */
+#define VIR_XML_STRING_BUFLEN (1024 + PATH_MAX * 16 + FILENAME_MAX * 16)
+
/**
* _virConnect:
*
xend_op_ext2(virConnectPtr xend, const char *path, char *error,
size_t n_error, const char *key, va_list ap)
{
- char ops[1024];
+ char ops[VIR_XML_STRING_BUFLEN];
const char *k = key, *v;
int offset = 0;
{
xmlDocPtr xml = NULL;
xmlNodePtr node;
- char *ret = NULL, *nam = NULL;
+ char *nam = NULL;
virBuffer buf;
xmlChar *prop;
xmlParserCtxtPtr pctxt;
if (name != NULL)
*name = NULL;
- ret = malloc(1000);
- if (ret == NULL)
+ buf.content = malloc(1000);
+ if (buf.content == NULL)
return (NULL);
- buf.content = ret;
buf.size = 1000;
buf.use = 0;
else
free(nam);
- return (ret);
+ return (buf.content);
error:
if (nam != NULL)
xmlFreeDoc(xml);
if (pctxt != NULL)
xmlFreeParserCtxt(pctxt);
- if (ret != NULL)
- free(ret);
+ if (buf.content != NULL)
+ free(buf.content);
return (NULL);
}