diff options
author | Skylar Chang <chiaweic@codeaurora.org> | 2014-12-05 13:47:21 -0800 |
---|---|---|
committer | Skylar Chang <chiaweic@codeaurora.org> | 2014-12-05 13:47:21 -0800 |
commit | ecdf7a37881e543e25cc959b7d3ded5cdcf38421 (patch) | |
tree | 8faed82cf58dd7ea1fd5058ee0267c019792f2d7 /ipacm/src/IPACM_Conntrack_NATApp.cpp | |
parent | e9218d9167bb262a80bd612e3fe37a8bb4b051a8 (diff) | |
download | ipacfg-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.cpp | 33 |
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; |