---
main.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/main.c b/main.c
index 86acfb7..58622f8 100644
--- a/main.c
+++ b/main.c
@@ -142,6 +142,7 @@ static struct globals *alfred_init(int argc, char *argv[])
int main(int argc, char *argv[])
{
struct globals *globals;
+ int ret;
globals = alfred_init(argc, argv);
@@ -150,15 +151,21 @@ int main(int argc, char *argv[])
switch (globals->clientmode) {
case CLIENT_NONE:
- return alfred_server(globals);
+ ret = alfred_server(globals);
break;
case CLIENT_REQUEST_DATA:
- return alfred_client_request_data(globals);
+ ret = alfred_client_request_data(globals);
break;
case CLIENT_SET_DATA:
- return alfred_client_set_data(globals);
+ ret = alfred_client_set_data(globals);
break;
+ default:
+ ret = 0;
}
- return 0;
+ free(globals->interface);
+ free(globals->mesh_iface);
+ free(globals);
+
+ return ret;
}
--
1.8.4