On 16 January 2015 at 12:05, Ola Liljedahl <[email protected]> wrote:

> Don't dereference pointer after successful check for NULL as this makes
> Coverity
> complain. (Coverity CID 85397,
> https://bugs.linaro.org/show_bug.cgi?id=1056)
>
> Signed-off-by: Ola Liljedahl <[email protected]>
>

Reviewed-by: Mike Holmes <[email protected]>


> ---
> (This document/code contribution attached is provided under the terms of
> agreement LES-LTM-21309)
>
>  test/validation/odp_timer.c | 20 +++++++++++---------
>  1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/test/validation/odp_timer.c b/test/validation/odp_timer.c
> index dca01ce..5ba1b84 100644
> --- a/test/validation/odp_timer.c
> +++ b/test/validation/odp_timer.c
> @@ -69,23 +69,23 @@ static void handle_tmo(odp_buffer_t buf, bool stale,
> uint64_t prev_tick)
>         if (ttp == NULL)
>                 CU_FAIL("odp_timeout_user_ptr() null user ptr");
>
> -       if (ttp->buf2 != buf)
> +       if (ttp != NULL && ttp->buf2 != buf)
>                 CU_FAIL("odp_timeout_user_ptr() wrong user ptr");
> -       if (ttp->tim != tim)
> +       if (ttp != NULL && ttp->tim != tim)
>                 CU_FAIL("odp_timeout_timer() wrong timer");
>         if (stale) {
>                 if (odp_timeout_fresh(tmo))
>                         CU_FAIL("Wrong status (fresh) for stale timeout");
>                 /* Stale timeout => local timer must have invalid tick */
> -               if (ttp->tick != TICK_INVALID)
> +               if (ttp != NULL && ttp->tick != TICK_INVALID)
>                         CU_FAIL("Stale timeout for active timer");
>         } else {
>                 if (!odp_timeout_fresh(tmo))
>                         CU_FAIL("Wrong status (stale) for fresh timeout");
>                 /* Fresh timeout => local timer must have matching tick */
> -               if (ttp->tick != tick) {
> -                       printf("Wrong tick: expected %"PRIu64" actual
> %"PRIu64"\n",
> -                              ttp->tick, tick);
> +               if (ttp != NULL && ttp->tick != tick) {
> +                       LOG_DBG("Wrong tick: expected %"PRIu64" actual
> %"PRIu64"\n",
> +                               ttp->tick, tick);
>                         CU_FAIL("odp_timeout_tick() wrong tick");
>                 }
>                 /* Check that timeout was delivered 'timely' */
> @@ -99,9 +99,11 @@ static void handle_tmo(odp_buffer_t buf, bool stale,
> uint64_t prev_tick)
>                 }
>         }
>
> -       /* Use assert() for correctness check of test program itself */
> -       assert(ttp->buf == ODP_BUFFER_INVALID);
> -       ttp->buf = buf;
> +       if (ttp != NULL) {
> +               /* Internal error */
> +               CU_ASSERT_FATAL(ttp->buf == ODP_BUFFER_INVALID);
> +               ttp->buf = buf;
> +       }
>  }
>
>  /* @private Worker thread entrypoint which performs timer
> alloc/set/cancel/free
> --
> 1.9.1
>
>
> _______________________________________________
> lng-odp mailing list
> [email protected]
> http://lists.linaro.org/mailman/listinfo/lng-odp
>



-- 
*Mike Holmes*
Linaro  Sr Technical Manager
LNG - ODP
_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to