[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Acl-devel] [PATCH] libacl: Fix acl_from_text() returning NULL on al
From: |
Andreas Gruenbacher |
Subject: |
Re: [Acl-devel] [PATCH] libacl: Fix acl_from_text() returning NULL on all input |
Date: |
Thu, 20 Apr 2017 16:26:53 +0200 |
On Thu, Apr 20, 2017 at 2:40 AM, Dmitry V. Levin <address@hidden> wrote:
> Commit 5dac69ce914202c587f00da638123403111ca673 introduced a regression:
> apparently, gcc treats
> #pragma GCC diagnostic pop
> as a kind of statement, so this causes parse_acl_entry()
> to return -1 unconditionally, and therefore causes acl_from_text()
> to return NULL unconditionally, too.
>
> Fix this by moving the pragma after the "if" statement.
That's interesting. I've applied the fix, thanks.
> Reported-by: Valery Inozemtsev <address@hidden>
> ---
> libacl/acl_from_text.c | 2 +-
> test/misc.test | 1 +
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c
> index bb2ab04..09790c9 100644
> --- a/libacl/acl_from_text.c
> +++ b/libacl/acl_from_text.c
> @@ -307,8 +307,8 @@ create_entry:
> #pragma GCC diagnostic push
> #pragma GCC diagnostic ignored "-Waddress"
> if (acl_copy_entry(entry_d, int2ext(&entry_obj)) != 0)
> -#pragma GCC diagnostic pop
> return -1;
> +#pragma GCC diagnostic pop
> return 0;
>
> fail:
> diff --git a/test/misc.test b/test/misc.test
> index c4d9774..3d39b42 100644
> --- a/test/misc.test
> +++ b/test/misc.test
> @@ -8,6 +8,7 @@ two dummy users (bin and daemon) and a dummy group (daemon).
> $ touch f
>
> Only change a base ACL:
> + $ chacl u::rw,g::r,o::- f
What's this? Skipped ...
Thanks,
Andreas