[lttng-dev] [PATCH lttng-tools 05/10] Fix: bogus mask on error.h PRINT types

Jérémie Galarneau jeremie.galarneau at efficios.com
Thu May 19 04:12:35 UTC 2016


Good catch, merged!

Thanks!
Jérémie

On Wed, May 18, 2016 at 2:04 PM, Mathieu Desnoyers
<mathieu.desnoyers at efficios.com> wrote:
> PRINT_ERR maps to 0x1, PRINT_WARN maps to 0x2, which is fine so far to
> use as masks, but PRINT_BUG maps to 0x3, which is the same as both
> PRINT_ERR and PRINT_WARN, and does not make sense to use in masks with
> __lttng_print:
>
>   (type & (PRINT_WARN | PRINT_ERR | PRINT_BUG))
>
> Fix this by ensuring PRINT_BUG has its own mask, and express all
> constants as shifts to eliminate the risk of re-introducing a similar
> bug in the future.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> ---
>  src/common/error.h | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/src/common/error.h b/src/common/error.h
> index f2a31df..3ab1d46 100644
> --- a/src/common/error.h
> +++ b/src/common/error.h
> @@ -57,13 +57,13 @@ extern int lttng_opt_verbose;
>  extern int lttng_opt_mi;
>
>  /* Error type. */
> -#define PRINT_ERR   0x1
> -#define PRINT_WARN  0x2
> -#define PRINT_BUG   0x3
> -#define PRINT_MSG   0x4
> -#define PRINT_DBG   0x10
> -#define PRINT_DBG2  0x20
> -#define PRINT_DBG3  0x30
> +#define PRINT_ERR   (1 << 0)
> +#define PRINT_WARN  (1 << 1)
> +#define PRINT_BUG   (1 << 2)
> +#define PRINT_MSG   (1 << 3)
> +#define PRINT_DBG   (1 << 4)
> +#define PRINT_DBG2  (1 << 5)
> +#define PRINT_DBG3  (1 << 6)
>
>  /*
>   * Macro for printing message depending on command line option and verbosity.
> --
> 2.1.4
>



-- 
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list