On 02/22/2011 10:54 AM, Daniel P. Berrange wrote:
The virFileAbsPath was not taking into account the '/'
directory
separator when allocating memory for combining cwd + path. Convert
to use virAsprintf to avoid this type of bug completely.
+ if (virAsprintf(abspath, "%s/%s", buf, path) < 0) {
VIR_FREE(buf);
errno = ENOMEM;
On IRC, there was a discussion that this explicit assignment to errno is
now redundant (virAsprintf guarantees that errno is already set to
ENOMEM on failure [well, unless you used a stupid format string that
could cause EINVAL or EILSEQ, but who does that?]). Up to you if you
want to delete that line before pushing this patch.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org