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

Attachment: signature.asc
Description: Digital signature

Reply via email to