From a459be71c97c79438d9b46d7c47b3f2e9eb900cb Mon Sep 17 00:00:00 2001 From: Shyam Saini Date: Tue, 29 Aug 2017 18:19:36 +0530 Subject: examples: Fix memory leaks detected by Valgrind ==11688== HEAP SUMMARY: ==11688== in use at exit: 40 bytes in 1 blocks ==11688== total heap usage: 7 allocs, 6 frees, 220 bytes allocated ==11688== ==11688== 40 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==11688== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==11688== by 0x5068955: mnl_nlmsg_batch_start (nlmsg.c:441) ==11688== by 0x40133B: main (nft-chain-add.c:103) ==11688== ==11688== LEAK SUMMARY: ==11688== definitely lost: 40 bytes in 1 blocks ==11688== indirectly lost: 0 bytes in 0 blocks ==11688== possibly lost: 0 bytes in 0 blocks ==11688== still reachable: 0 bytes in 0 blocks ==11688== suppressed: 0 bytes in 0 blocks ==11831== HEAP SUMMARY: ==11831== in use at exit: 40 bytes in 1 blocks ==11831== total heap usage: 7 allocs, 6 frees, 220 bytes allocated ==11831== ==11831== 40 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==11831== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==11831== by 0x5068955: mnl_nlmsg_batch_start (nlmsg.c:441) ==11831== by 0x401154: main (nft-chain-del.c:79) ==11831== ==11831== LEAK SUMMARY: ==11831== definitely lost: 40 bytes in 1 blocks ==11831== indirectly lost: 0 bytes in 0 blocks ==11831== possibly lost: 0 bytes in 0 blocks ==11831== still reachable: 0 bytes in 0 blocks ==11831== suppressed: 0 bytes in 0 blocks Signed-off-by: Shyam Saini Acked-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- examples/nft-chain-add.c | 2 ++ examples/nft-chain-del.c | 2 ++ examples/nft-chain-parse-add.c | 2 ++ 3 files changed, 6 insertions(+) (limited to 'examples') diff --git a/examples/nft-chain-add.c b/examples/nft-chain-add.c index ca1edf9..e0d889d 100644 --- a/examples/nft-chain-add.c +++ b/examples/nft-chain-add.c @@ -138,6 +138,8 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } + mnl_nlmsg_batch_stop(batch); + ret = mnl_socket_recvfrom(nl, buf, sizeof(buf)); while (ret > 0) { ret = mnl_cb_run(buf, ret, chain_seq, portid, NULL, NULL); diff --git a/examples/nft-chain-del.c b/examples/nft-chain-del.c index b756b46..e99bb8a 100644 --- a/examples/nft-chain-del.c +++ b/examples/nft-chain-del.c @@ -114,6 +114,8 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } + mnl_nlmsg_batch_stop(batch); + ret = mnl_socket_recvfrom(nl, buf, sizeof(buf)); while (ret > 0) { ret = mnl_cb_run(buf, ret, chain_seq, portid, NULL, NULL); diff --git a/examples/nft-chain-parse-add.c b/examples/nft-chain-parse-add.c index 6d6d989..a9ee8e9 100644 --- a/examples/nft-chain-parse-add.c +++ b/examples/nft-chain-parse-add.c @@ -149,6 +149,8 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } + mnl_nlmsg_batch_stop(batch); + ret = mnl_socket_recvfrom(nl, buf, sizeof(buf)); while (ret > 0) { ret = mnl_cb_run(buf, ret, chain_seq, portid, NULL, NULL); -- cgit v1.2.3