On 06/21/2013 07:30 PM, Ján Tomko wrote: > Commit b9c6b073 dropped the version of virNetDevSetupControl > that didn't check for NULL arguments, but we call it like that > in virNetDevBridgeDelete. > --- > src/util/virnetdev.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c > index 7aba515..ebe20d0 100644 > --- a/src/util/virnetdev.c > +++ b/src/util/virnetdev.c > @@ -62,13 +62,15 @@ static int virNetDevSetupControlFull(const char *ifname, > { > int fd; > > - memset(ifr, 0, sizeof(*ifr)); > + if (ifr && ifname) { > + memset(ifr, 0, sizeof(*ifr)); > > - if (virStrcpyStatic(ifr->ifr_name, ifname) == NULL) { > - virReportSystemError(ERANGE, > - _("Network interface name '%s' is too long"), > - ifname); > - return -1; > + if (virStrcpyStatic(ifr->ifr_name, ifname) == NULL) { > + virReportSystemError(ERANGE, > + _("Network interface name '%s' is too long"), > + ifname); > + return -1; > + } > } > > if ((fd = socket(domain, type, 0)) < 0) { > I missed this: diff --git a/src/util/virnetdev.h b/src/util/virnetdev.h index 933a9b3..44a37ca 100644 --- a/src/util/virnetdev.h +++ b/src/util/virnetdev.h @@ -38,7 +38,7 @@ typedef void virIfreq; int virNetDevSetupControl(const char *ifname, virIfreq *ifr) - ATTRIBUTE_RETURN_CHECK ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); + ATTRIBUTE_RETURN_CHECK; int virNetDevExists(const char *brname) ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK; Jan -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list