[libvirt] [PATCH v3 13/34] Adapt to VIR_STRDUP and VIR_STRNDUP in src/nwfilter/*

Michal Privoznik mprivozn at redhat.com
Fri May 3 14:53:18 UTC 2013


---
 src/nwfilter/nwfilter_dhcpsnoop.c         | 22 +++++++++++-----------
 src/nwfilter/nwfilter_driver.c            |  7 +++----
 src/nwfilter/nwfilter_ebiptables_driver.c |  2 +-
 src/nwfilter/nwfilter_gentech_driver.c    |  5 ++---
 src/nwfilter/nwfilter_learnipaddr.c       |  5 +----
 5 files changed, 18 insertions(+), 23 deletions(-)

diff --git a/src/nwfilter/nwfilter_dhcpsnoop.c b/src/nwfilter/nwfilter_dhcpsnoop.c
index 50042df..a3e05a1 100644
--- a/src/nwfilter/nwfilter_dhcpsnoop.c
+++ b/src/nwfilter/nwfilter_dhcpsnoop.c
@@ -133,11 +133,11 @@ struct _virNWFilterSnoopReq {
     virNWFilterTechDriverPtr             techdriver;
     char                                *ifname;
     int                                  ifindex;
-    const char                          *linkdev;
+    char                                *linkdev;
     enum virDomainNetType                nettype;
     char                                 ifkey[VIR_IFKEY_LEN];
     virMacAddr                           macaddr;
-    const char                          *filtername;
+    char                                *filtername;
     virNWFilterHashTablePtr              vars;
     virNWFilterDriverStatePtr            driver;
     /* start and end of lease list, ordered by lease time */
@@ -1110,10 +1110,8 @@ virNWFilterSnoopDHCPOpen(const char *ifname, virMacAddr *mac,
          * generate much more traffic than if we filtered by VM and
          * braodcast MAC as well
          */
-        if (!(ext_filter = strdup(filter))) {
-            virReportOOMError();
+        if (VIR_STRDUP(ext_filter, filter) < 0)
             return NULL;
-        }
     }
 
     handle = pcap_create(ifname, pcap_errbuf);
@@ -1408,7 +1406,7 @@ virNWFilterDHCPSnoopThread(void *req0)
             fds[i].fd = pcap_fileno(pcapConf[i].handle);
         }
         tmp = virNetDevGetIndex(req->ifname, &ifindex);
-        threadkey = strdup(req->threadkey);
+        ignore_value(VIR_STRDUP(threadkey, req->threadkey));
         worker = virThreadPoolNew(1, 1, 0,
                                   virNWFilterDHCPDecodeWorker,
                                   req);
@@ -1631,15 +1629,17 @@ virNWFilterDHCPSnoopReq(virNWFilterTechDriverPtr techdriver,
     req->driver = driver;
     req->techdriver = techdriver;
     tmp = virNetDevGetIndex(ifname, &req->ifindex);
-    req->linkdev = linkdev ? strdup(linkdev) : NULL;
     req->nettype = nettype;
-    req->ifname = strdup(ifname);
     virMacAddrSet(&req->macaddr, macaddr);
-    req->filtername = strdup(filtername);
     req->vars = virNWFilterHashTableCreate(0);
+    req->linkdev = NULL;
+
+    if (VIR_STRDUP(req->ifname, ifname) < 0 ||
+        VIR_STRDUP(req->filtername, filtername) < 0 ||
+        (linkdev && VIR_STRDUP(req->linkdev, linkdev) < 0))
+        goto exit_snoopreqput;
 
-    if (!req->ifname || !req->filtername || !req->vars || tmp < 0 ||
-        (linkdev != NULL && req->linkdev == NULL)) {
+    if (!req->vars || tmp < 0) {
         virReportOOMError();
         goto exit_snoopreqput;
     }
diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c
index 7eec3de..64ea251 100644
--- a/src/nwfilter/nwfilter_driver.c
+++ b/src/nwfilter/nwfilter_driver.c
@@ -221,8 +221,8 @@ nwfilterStateInitialize(bool privileged,
         goto error;
     }
 
-    if ((base = strdup(SYSCONFDIR "/libvirt")) == NULL)
-        goto out_of_memory;
+    if (VIR_STRDUP(base, SYSCONFDIR "/libvirt") < 0)
+        goto error;
 
     if (virAsprintf(&driverState->configDir,
                     "%s/nwfilter", base) == -1)
@@ -454,9 +454,8 @@ nwfilterConnectListNWFilters(virConnectPtr conn,
     nwfilterDriverLock(driver);
     for (i = 0 ; i < driver->nwfilters.count && got < nnames ; i++) {
         virNWFilterObjLock(driver->nwfilters.objs[i]);
-        if (!(names[got] = strdup(driver->nwfilters.objs[i]->def->name))) {
+        if (VIR_STRDUP(names[got], driver->nwfilters.objs[i]->def->name) < 0) {
              virNWFilterObjUnlock(driver->nwfilters.objs[i]);
-             virReportOOMError();
              goto cleanup;
         }
         got++;
diff --git a/src/nwfilter/nwfilter_ebiptables_driver.c b/src/nwfilter/nwfilter_ebiptables_driver.c
index ac94355..b772847 100644
--- a/src/nwfilter/nwfilter_ebiptables_driver.c
+++ b/src/nwfilter/nwfilter_ebiptables_driver.c
@@ -2982,7 +2982,7 @@ ebtablesCreateTmpSubChain(ebiptablesRuleInstPtr *inst,
 
     switch (protoidx) {
     case L2_PROTO_MAC_IDX:
-        protostr = strdup("");
+        ignore_value(VIR_STRDUP_QUIET(protostr, ""));
         break;
     case L2_PROTO_STP_IDX:
         ignore_value(virAsprintf(&protostr, "-d " NWFILTER_MAC_BGA " "));
diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter_gentech_driver.c
index 958f47a..7bca2f4 100644
--- a/src/nwfilter/nwfilter_gentech_driver.c
+++ b/src/nwfilter/nwfilter_gentech_driver.c
@@ -37,6 +37,7 @@
 #include "nwfilter_learnipaddr.h"
 #include "virnetdev.h"
 #include "datatypes.h"
+#include "virstring.h"
 
 #define VIR_FROM_THIS VIR_FROM_NWFILTER
 
@@ -866,9 +867,7 @@ __virNWFilterInstantiateFilter(const unsigned char *vmuuid,
     }
 
     virMacAddrFormat(macaddr, vmmacaddr);
-    str_macaddr = strdup(vmmacaddr);
-    if (!str_macaddr) {
-        virReportOOMError();
+    if (VIR_STRDUP(str_macaddr, vmmacaddr) < 0) {
         rc = -1;
         goto err_exit;
     }
diff --git a/src/nwfilter/nwfilter_learnipaddr.c b/src/nwfilter/nwfilter_learnipaddr.c
index 14fd32c..f50a246 100644
--- a/src/nwfilter/nwfilter_learnipaddr.c
+++ b/src/nwfilter/nwfilter_learnipaddr.c
@@ -705,11 +705,8 @@ virNWFilterLearnIPAddress(virNWFilterTechDriverPtr techdriver,
     if (virNWFilterHashTablePutAll(filterparams, ht) < 0)
         goto err_free_ht;
 
-    req->filtername = strdup(filtername);
-    if (req->filtername == NULL) {
-        virReportOOMError();
+    if (VIR_STRDUP(req->filtername, filtername) < 0)
         goto err_free_ht;
-    }
 
     if (virStrcpyStatic(req->ifname, ifname) == NULL) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
-- 
1.8.1.5




More information about the libvir-list mailing list