[Libvir] Virtual networking (not the rathole thread :-)
Mark McLoughlin
markmc at redhat.com
Mon Jan 29 11:50:29 UTC 2007
Hi Karel,
On Mon, 2007-01-29 at 09:27 +0100, Karel Zak wrote:
> pedant's quick glance: ;-)
>
> On Thu, Jan 25, 2007 at 03:52:03PM +0000, Mark McLoughlin wrote:
> > @@ -761,6 +813,61 @@ static int qemudParseXML(struct qemud_se
> > }
> >
> >
> > +static char *
> > +qemudNetworkIfaceConnect(struct qemud_server *server,
> > + struct qemud_vm *vm,
> > + struct qemud_vm_net_def *net)
> > +{
>
> .....
>
> > +
> > + snprintf(tapfdstr, sizeof(tapfdstr), "tap,fd=%d,script=", tapfd);
> > +
> > + return strdup(tapfdstr);
> ^^^^^^^^^^^^^^^^^^^
> where is allocation check?
>
> if ((p = strdup(tapfdstr)))
> return p;
Very well spotted ... I've also moved the strdup() to before the tapfds
realloc() so as to not leave that in a weird state if the strdup()
fails.
> > + if (net->type == QEMUD_NET_NETWORK) {
> > + if (qemudBufferPrintf(&buf, " <network name='%s", net->dst.network.name) < 0)
> > + goto no_memory;
> > +
> > + if (net->dst.network.tapifname[0] != '\0' &&
> > + qemudBufferPrintf(&buf, " tapifname='%s'", net->dst.network.tapifname) < 0)
> > + goto no_memory;
> > +
> > + if (qemudBufferPrintf(&buf, "/>\n") < 0)
> > + goto no_memory;
> > + }
> > +
> > if (qemudBufferPrintf(&buf, " </interface>\n") < 0)
> ^^^^^^
>
> There is also BufferAdd() which is cheaper than Printf if you
> needn't any string formatting.
That's one for Dan ... notice the way it's not actually in my patch. I
did actually think the same thing myself at the time ... :-)
Thanks,
Mark.
More information about the libvir-list
mailing list