[libvirt] [PATCH 1/2] netdev: accept NULL in virNetDevSetupControl
Ján Tomko
jtomko at redhat.com
Fri Jun 21 17:45:34 UTC 2013
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
More information about the libvir-list
mailing list