summaryrefslogtreecommitdiff
path: root/ipacm/src/IPACM_Conntrack_NATApp.cpp
diff options
context:
space:
mode:
authorSkylar Chang <chiaweic@codeaurora.org>2014-12-05 13:47:21 -0800
committerSkylar Chang <chiaweic@codeaurora.org>2014-12-05 13:47:21 -0800
commitecdf7a37881e543e25cc959b7d3ded5cdcf38421 (patch)
tree8faed82cf58dd7ea1fd5058ee0267c019792f2d7 /ipacm/src/IPACM_Conntrack_NATApp.cpp
parente9218d9167bb262a80bd612e3fe37a8bb4b051a8 (diff)
downloadipacfg-mgr-ecdf7a37881e543e25cc959b7d3ded5cdcf38421.tar.gz
IPACM: Handle no ALG ports case
The ALG ports can be zero. Allocate memory only when the number of ALG ports greater than zero. Change-Id: I421424ccb65b7041f6bb33bcad20727e08fb63f2
Diffstat (limited to 'ipacm/src/IPACM_Conntrack_NATApp.cpp')
-rw-r--r--ipacm/src/IPACM_Conntrack_NATApp.cpp33
1 files changed, 18 insertions, 15 deletions
diff --git a/ipacm/src/IPACM_Conntrack_NATApp.cpp b/ipacm/src/IPACM_Conntrack_NATApp.cpp
index 3d388f9..c4a7e52 100644
--- a/ipacm/src/IPACM_Conntrack_NATApp.cpp
+++ b/ipacm/src/IPACM_Conntrack_NATApp.cpp
@@ -77,24 +77,27 @@ int NatApp::Init(void)
memset(cache, 0, size);
nALGPort = pConfig->GetAlgPortCnt();
- pALGPorts = (ipacm_alg *)malloc(sizeof(ipacm_alg) * nALGPort);
- if(pALGPorts == NULL)
+ if(nALGPort > 0)
{
- IPACMERR("Unable to allocate memory for alg prots\n");
- goto fail;
- }
- memset(pALGPorts, 0, sizeof(ipacm_alg) * nALGPort);
+ pALGPorts = (ipacm_alg *)malloc(sizeof(ipacm_alg) * nALGPort);
+ if(pALGPorts == NULL)
+ {
+ IPACMERR("Unable to allocate memory for alg prots\n");
+ goto fail;
+ }
+ memset(pALGPorts, 0, sizeof(ipacm_alg) * nALGPort);
- if(pConfig->GetAlgPorts(nALGPort, pALGPorts) != 0)
- {
- IPACMERR("Unable to retrieve ALG prots\n");
- goto fail;
- }
+ if(pConfig->GetAlgPorts(nALGPort, pALGPorts) != 0)
+ {
+ IPACMERR("Unable to retrieve ALG prots\n");
+ goto fail;
+ }
- IPACMDBG("Printing %d alg ports information\n", nALGPort);
- for(int cnt=0; cnt<nALGPort; cnt++)
- {
- IPACMDBG("%d: Proto[%d], port[%d]\n", cnt, pALGPorts[cnt].protocol, pALGPorts[cnt].port);
+ IPACMDBG("Printing %d alg ports information\n", nALGPort);
+ for(int cnt=0; cnt<nALGPort; cnt++)
+ {
+ IPACMDBG("%d: Proto[%d], port[%d]\n", cnt, pALGPorts[cnt].protocol, pALGPorts[cnt].port);
+ }
}
return 0;