bug-wget
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Fix strict aliasing violation


From: Tim Rühsen
Subject: Re: [PATCH] Fix strict aliasing violation
Date: Sun, 12 Apr 2020 15:53:56 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0

Hi Andreas,

On 11.04.20 22:05, Andreas Schwab wrote:
> * unit-tests/test-dl.c (test_fn_check): Avoid strict aliasing
> violation.
> ---
>  unit-tests/test-dl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/unit-tests/test-dl.c b/unit-tests/test-dl.c
> index d996bba5..51e73239 100644
> --- a/unit-tests/test-dl.c
> +++ b/unit-tests/test-dl.c
> @@ -183,7 +183,7 @@ static void test_fn_check(void *fn, const char *expected)
>  {
>       char buf[16];
>       test_fn fn_p;
> -     *((void **) &fn_p) = fn;
> +     fn_p = (test_fn)fn;
>       (*fn_p)(buf, sizeof(buf));
>       if (strncmp(buf, expected, 15) != 0)
>               abortmsg("Test function returned %s, expected %s", buf, 
> expected);
> 

Your changes result in

test-dl.c: In function 'test_fn_check':
test-dl.c:186:9: warning: ISO C forbids conversion of object pointer to
function pointer type [-Wpedantic]
  186 |  fn_p = (test_fn)fn;
      |         ^

Following the code, tt basically turns down to the question "How to
convert dlsym() return value into a function pointer correctly".

Regards, Tim

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]