[libvirt PATCH v2] Fix some wrong usage of ATTRIBUTE_NONNULL

Daniel Henrique Barboza danielhb413 at gmail.com
Mon Jun 8 17:42:36 UTC 2020



On 6/6/20 7:52 AM, Bihong Yu wrote:
> There are some wrong usage of ATTRIBUTE_NONNULL, which may cause the compilation fail. The
> ATTRIBUTE_NONNULL is the define of __attribute__((__nonnull__(m))), which declares that the
> input pointer parameter of funciton should not be NULL. If we declare some input pointer
> parameter of the function is ATTRIBUTE_NONNULL, the function should not redundancy check of
> the pointer parameter. And the ATTRIBUTE_NONNULL can only be using to pointer.
> 
>>From 01a7301d50d6c1388df80dfa9af9da2582deec82 Mon Sep 17 00:00:00 2001
> From: Bihong Yu <yubihong at huawei.com>
> Date: Sat, 6 Jun 2020 18:20:16 +0800
> Subject: [PATCH] bugifx: fix some wrong usage of ATTRIBUTE_NONNULL
> 
> The ATTRIBUTE_NONNULL is the define of __attribute__((__nonnull__(m))), which
> declares that the input pointer parameter of funciton should not be NULL. If we
> declare some input pointer parameter of the function is ATTRIBUTE_NONNULL, the
> function should not redundancy check of the pointer parameter. And the
> ATTRIBUTE_NONNULL can only be using to pointer.
> 
> Signed-off-by:Bihong Yu <yubihong at huawei.com>
> Reviewed-by:Chuan Zheng <zhengchuan at huawei.com>
> ---


Patch looks ok (spoiler: didn't upload it to Gitlab to see if it passes CI).

But the commit msg needs a bit of work. The last paragraph is repeated in the
first paragraph, and I'm not sure about the email header in the middle of the
commit message.

Also, you mentioned "which may cause the compilation fail". It would be a good
plus to add which error message you were seeing that got fixed in this patch.


Thanks,


DHB


>   src/libvirt_internal.h | 3 +--
>   src/util/vircommand.h  | 3 +--
>   2 files changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/src/libvirt_internal.h b/src/libvirt_internal.h
> index 00ef7aa..72c6127 100644
> --- a/src/libvirt_internal.h
> +++ b/src/libvirt_internal.h
> @@ -33,8 +33,7 @@ int virStateInitialize(bool privileged,
>                          bool mandatory,
>                          const char *root,
>                          virStateInhibitCallback inhibit,
> -                       void *opaque)
> -    ATTRIBUTE_NONNULL(2);
> +                       void *opaque);
>   int virStateCleanup(void);
>   int virStateReload(void);
>   int virStateStop(void);
> diff --git a/src/util/vircommand.h b/src/util/vircommand.h
> index ff8a785..e12c88b 100644
> --- a/src/util/vircommand.h
> +++ b/src/util/vircommand.h
> @@ -126,8 +126,7 @@ void virCommandAddArgFormat(virCommandPtr cmd,
> 
>   void virCommandAddArgPair(virCommandPtr cmd,
>                             const char *name,
> -                          const char *val)
> -    ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
> +                          const char *val);
> 
>   void virCommandAddArgSet(virCommandPtr cmd,
>                            const char *const*vals) ATTRIBUTE_NONNULL(2);
> 




More information about the libvir-list mailing list