From 01207bb7033159949b984e8d699e947e4fb529bd Mon Sep 17 00:00:00 2001 From: Doug Goldstein Date: Tue, 26 Feb 2013 00:27:19 -0600 Subject: [PATCH] interface: udev backend coverity NULL deref This fixes a potential NULL deref identified by John Ferlan if scandir() didn't return an expected value. --- src/interface/interface_backend_udev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c index dca85b3f54..1132d9aa09 100644 --- a/src/interface/interface_backend_udev.c +++ b/src/interface/interface_backend_udev.c @@ -779,6 +779,13 @@ udevIfaceGetIfaceDefBond(struct udev *udev, * so we use the part after the _ */ tmp_str = strchr(slave_list[i]->d_name, '_'); + if (!tmp_str || strlen(tmp_str) < 2) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Invalid enslaved interface name '%s' seen for " + "bond '%s'"), slave_list[i]->d_name, name); + goto cleanup; + } + /* go past the _ */ tmp_str++; ifacedef->data.bond.itf[i] =