ACK
/Lennart

> -----Original Message-----
> From: Vu Minh Nguyen [mailto:vu.m.ngu...@dektech.com.au]
> Sent: den 5 augusti 2016 09:46
> To: Lennart Lund <lennart.l...@ericsson.com>; mahesh.va...@oracle.com
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] log: client crashed due to not initialize the 
> client_list
> pointer [#1933]
> 
>  osaf/libs/agents/saf/lga/lga_api.c   |  3 ++-
>  osaf/libs/agents/saf/lga/lga_state.c |  2 +-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> 
> Not initilize the global pointer variable `client_list`.  It might refer to an
> invalid/unallocated memory. If it is the case, the application will be 
> crashed.
> 
> This patch does initialize.
> 
> diff --git a/osaf/libs/agents/saf/lga/lga_api.c
> b/osaf/libs/agents/saf/lga/lga_api.c
> --- a/osaf/libs/agents/saf/lga/lga_api.c
> +++ b/osaf/libs/agents/saf/lga/lga_api.c
> @@ -42,7 +42,8 @@
>  /* The main controle block */
>  lga_cb_t lga_cb = {
>       .cb_lock = PTHREAD_MUTEX_INITIALIZER,
> -     .lgs_state = LGS_START
> +     .lgs_state = LGS_START,
> +     .client_list = NULL
>  };
> 
>  static bool is_well_know_stream(const char* dn)
> diff --git a/osaf/libs/agents/saf/lga/lga_state.c
> b/osaf/libs/agents/saf/lga/lga_state.c
> --- a/osaf/libs/agents/saf/lga/lga_state.c
> +++ b/osaf/libs/agents/saf/lga/lga_state.c
> @@ -359,7 +359,7 @@ static void *recovery2_thread(void *dumm
>       lga_client_hdl_rec_t *p_client;
>       p_client = lga_cb.client_list;
> 
> -     while (p_client != NULL) {
> +     while (p_client != NULL && p_client->recovered_flag == false) {
>               /* Exit if requested to */
>               rc = osaf_poll_one_fd(state2_terminate_sel_obj.rmv_obj,
> 0);
>               if (rc > 0) {

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to