Merged. Thanks!!

FIN

On 11-07-16 12:06 PM, Mathieu Desnoyers wrote:
> Freeing non-dynamically allocated memory is never a good idea.
> Also fixing 2 memory leaks.
> 
> Signed-off-by: Mathieu Desnoyers <[email protected]>
> ---
>  lttng/commands/destroy.c        |    4 +++-
>  lttng/commands/disable_events.c |    5 ++++-
>  lttng/commands/enable_events.c  |    5 ++++-
>  lttng/commands/start.c          |    4 +++-
>  lttng/commands/stop.c           |    4 +++-
>  lttng/utils.c                   |    9 +++++----
>  6 files changed, 22 insertions(+), 9 deletions(-)
> 
> Index: lttng-tools/lttng/commands/destroy.c
> ===================================================================
> --- lttng-tools.orig/lttng/commands/destroy.c
> +++ lttng-tools/lttng/commands/destroy.c
> @@ -97,7 +97,9 @@ static int destroy_session()
>       ret = CMD_SUCCESS;
>  
>  free_name:
> -     free(session_name);
> +     if (opt_session_name == NULL) {
> +             free(session_name);
> +     }
>  error:
>       return ret;
>  }
> Index: lttng-tools/lttng/utils.c
> ===================================================================
> --- lttng-tools.orig/lttng/utils.c
> +++ lttng-tools/lttng/utils.c
> @@ -58,18 +58,19 @@ int set_session_name(char *name)
>       int ret;
>       char *session_name;
>  
> -     if (name != NULL) {
> -             session_name = name;
> -     } else {
> +     if (!name) {
>               session_name = get_session_name();
>               if (session_name == NULL) {
>                       ret = -1;
>                       goto error;
>               }
> +     } else {
> +             session_name = name;
>       }
>  
>       lttng_set_session_name(session_name);
> -     free(session_name);
> +     if (!name)
> +             free(session_name);
>  
>       ret = 0;
>  
> Index: lttng-tools/lttng/commands/disable_events.c
> ===================================================================
> --- lttng-tools.orig/lttng/commands/disable_events.c
> +++ lttng-tools/lttng/commands/disable_events.c
> @@ -83,7 +83,7 @@ static void usage(FILE *ofp)
>  static int disable_events(void)
>  {
>       int err, ret = CMD_SUCCESS;
> -     char *event_name, *channel_name;
> +     char *event_name, *channel_name = NULL;
>       struct lttng_event ev;
>  
>       if (set_session_name(opt_session_name) < 0) {
> @@ -147,6 +147,9 @@ static int disable_events(void)
>       }
>  
>  error:
> +     if (opt_channel_name == NULL) {
> +             free(channel_name);
> +     }
>       return ret;
>  }
>  
> Index: lttng-tools/lttng/commands/enable_events.c
> ===================================================================
> --- lttng-tools.orig/lttng/commands/enable_events.c
> +++ lttng-tools/lttng/commands/enable_events.c
> @@ -152,7 +152,7 @@ error:
>  static int enable_events(void)
>  {
>       int err, ret = CMD_SUCCESS;
> -     char *event_name, *channel_name;
> +     char *event_name, *channel_name = NULL;
>       struct lttng_event ev;
>  
>       if (set_session_name(opt_session_name) < 0) {
> @@ -235,6 +235,9 @@ static int enable_events(void)
>       }
>  
>  error:
> +     if (opt_channel_name == NULL) {
> +             free(channel_name);
> +     }
>       return ret;
>  }
>  
> Index: lttng-tools/lttng/commands/start.c
> ===================================================================
> --- lttng-tools.orig/lttng/commands/start.c
> +++ lttng-tools/lttng/commands/start.c
> @@ -85,7 +85,9 @@ static int start_tracing(void)
>       MSG("Tracing started for session %s", session_name);
>  
>  free_name:
> -     free(session_name);
> +     if (opt_session_name == NULL) {
> +             free(session_name);
> +     }
>  error:
>       return ret;
>  }
> Index: lttng-tools/lttng/commands/stop.c
> ===================================================================
> --- lttng-tools.orig/lttng/commands/stop.c
> +++ lttng-tools/lttng/commands/stop.c
> @@ -83,7 +83,9 @@ static int stop_tracing(void)
>       MSG("Tracing stopped for session %s", session_name);
>  
>  free_name:
> -     free(session_name);
> +     if (opt_session_name == NULL) {
> +             free(session_name);
> +     }
>  error:
>       return ret;
>  }
> 

_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev

Reply via email to