summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/session.c2
-rw-r--r--src/ipset.c8
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/session.c b/lib/session.c
index 9a6c98e..0e05f28 100644
--- a/lib/session.c
+++ b/lib/session.c
@@ -1528,7 +1528,7 @@ addattr_adt(struct ipset_session *session,
static int
build_send_private_msg(struct ipset_session *session, enum ipset_cmd cmd)
{
- char buffer[PRIVATE_MSG_BUFLEN] __attribute__ ((aligned));
+ char buffer[PRIVATE_MSG_BUFLEN] __attribute__ ((aligned)) = {};
struct nlmsghdr *nlh = (void *)buffer;
struct ipset_data *data = session->data;
int len = PRIVATE_MSG_BUFLEN, ret;
diff --git a/src/ipset.c b/src/ipset.c
index a647160..371d851 100644
--- a/src/ipset.c
+++ b/src/ipset.c
@@ -718,6 +718,8 @@ parse_commandline(int argc, char *argv[])
int
main(int argc, char *argv[])
{
+ int ret;
+
/* Register types */
ipset_type_add(&ipset_bitmap_ip0);
ipset_type_add(&ipset_bitmap_ipmac0);
@@ -739,5 +741,9 @@ main(int argc, char *argv[])
return exit_error(OTHER_PROBLEM,
"Cannot initialize ipset session, aborting.");
- return parse_commandline(argc, argv);
+ ret = parse_commandline(argc, argv);
+
+ ipset_session_fini(session);
+
+ return ret;
}