On 05/03/2013 08:53 AM, Michal Privoznik wrote: > --- > daemon/libvirtd-config.c | 50 +++++---------- > daemon/libvirtd.c | 29 +++++---- > daemon/remote.c | 161 ++++++++++++++++++----------------------------- > 3 files changed, 92 insertions(+), 148 deletions(-) > Good sign that our interface is nice, because using it shrinks the code base. > @@ -287,10 +287,10 @@ daemonUnixSocketPaths(struct daemonConfig *config, > goto no_memory; > } else { > if (privileged) { > - if (!(*sockfile = strdup(LOCALSTATEDIR "/run/libvirt/libvirt-sock"))) > - goto no_memory; > - if (!(*rosockfile = strdup(LOCALSTATEDIR "/run/libvirt/libvirt-sock-ro"))) > - goto no_memory; > + if (VIR_STRDUP(*sockfile, LOCALSTATEDIR "/run/libvirt/libvirt-sock") < 0) > + goto error; > + if (VIR_STRDUP(*rosockfile, LOCALSTATEDIR "/run/libvirt/libvirt-sock-ro") < 0) > + goto error; Could merge these two 'if' into one, especially since you were doing it elsewhere in this patch, but not essential. > @@ -1172,7 +1173,7 @@ int main(int argc, char **argv) { > > case 'p': > VIR_FREE(pid_file); > - if (!(pid_file = strdup(optarg))) { > + if (VIR_STRDUP_QUIET(pid_file, optarg) < 0) { > VIR_ERROR(_("Can't allocate memory")); > exit(EXIT_FAILURE); One of the few cases where _QUIET is right, since main() is early enough that normal error reporting may not be initialized yet :) > @@ -473,18 +447,18 @@ static int remoteRelayDomainEventDiskChange(virConnectPtr conn ATTRIBUTE_UNUSED, > memset(&data, 0, sizeof(data)); > if (oldSrcPath && > ((VIR_ALLOC(oldSrcPath_p) < 0) || > - !(*oldSrcPath_p = strdup(oldSrcPath)))) > + VIR_STRDUP(*oldSrcPath_p, oldSrcPath) < 0)) > goto mem_error; Yep, I said I could live with the double OOM for now, and that we'll clean it up when we make our next pass over VIR_ALLOC. > @@ -4779,14 +4739,14 @@ static void > make_nonnull_domain(remote_nonnull_domain *dom_dst, virDomainPtr dom_src) > { > dom_dst->id = dom_src->id; > - dom_dst->name = strdup(dom_src->name); > + ignore_value(VIR_STRDUP_QUIET(dom_dst->name, dom_src->name)); > memcpy(dom_dst->uuid, dom_src->uuid, VIR_UUID_BUFLEN); Aargh, I promised to work on this, and still haven't gotten around to it. But it's an independent cleanup to make the make_nonnull_ functions not return half-baked objects, so doesn't hold up your patch. ACK. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list