On Mon, Sep 09, 2013 at 03:39:02AM +0200, Nils Schneider wrote:
> ---
> 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;
Hrm, apart from that this patch lacks a commit message and signoff, what does
it help
freeing stuff just before the program exits? This will free anything
automatically
anyway ...
Cheers,
Simon
signature.asc
Description: Digital signature
