---
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