diff mbox series

[v2,02/12] tests/tcg/multiarch/linux-test: Fix error check for shmat

Message ID 20191025113921.9412-3-richard.henderson@linaro.org
State Superseded
Headers show
Series linux-user sparc fixes | expand

Commit Message

Richard Henderson Oct. 25, 2019, 11:39 a.m. UTC
The error indicator for this syscall is -1, not 0.

Reviewed-by: Laurent Vivier <laurent@vivier.eu>

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

---
 tests/tcg/multiarch/linux-test.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
2.17.1

Comments

Philippe Mathieu-Daudé Oct. 25, 2019, 12:59 p.m. UTC | #1
On 10/25/19 1:39 PM, Richard Henderson wrote:
> The error indicator for this syscall is -1, not 0.

> 

> Reviewed-by: Laurent Vivier <laurent@vivier.eu>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>   tests/tcg/multiarch/linux-test.c | 3 ++-

>   1 file changed, 2 insertions(+), 1 deletion(-)

> 

> diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c

> index fa4243fc04..673d7c8a1c 100644

> --- a/tests/tcg/multiarch/linux-test.c

> +++ b/tests/tcg/multiarch/linux-test.c

> @@ -503,8 +503,9 @@ static void test_shm(void)

>   

>       shmid = chk_error(shmget(IPC_PRIVATE, SHM_SIZE, IPC_CREAT | 0777));

>       ptr = shmat(shmid, NULL, 0);

> -    if (!ptr)

> +    if (ptr == (void *)-1) {


Oops.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


>           error("shmat");

> +    }

>   

>       memset(ptr, 0, SHM_SIZE);

>   

>
Philippe Mathieu-Daudé Oct. 25, 2019, 1 p.m. UTC | #2
On 10/25/19 1:39 PM, Richard Henderson wrote:
> The error indicator for this syscall is -1, not 0.

> 


Fixes: e374bfa35bf

A more than 15 years old bug :>

> Reviewed-by: Laurent Vivier <laurent@vivier.eu>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>   tests/tcg/multiarch/linux-test.c | 3 ++-

>   1 file changed, 2 insertions(+), 1 deletion(-)

> 

> diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c

> index fa4243fc04..673d7c8a1c 100644

> --- a/tests/tcg/multiarch/linux-test.c

> +++ b/tests/tcg/multiarch/linux-test.c

> @@ -503,8 +503,9 @@ static void test_shm(void)

>   

>       shmid = chk_error(shmget(IPC_PRIVATE, SHM_SIZE, IPC_CREAT | 0777));

>       ptr = shmat(shmid, NULL, 0);

> -    if (!ptr)

> +    if (ptr == (void *)-1) {

>           error("shmat");

> +    }

>   

>       memset(ptr, 0, SHM_SIZE);

>   

>
Laurent Vivier Nov. 5, 2019, 9:45 a.m. UTC | #3
Le 25/10/2019 à 13:39, Richard Henderson a écrit :
> The error indicator for this syscall is -1, not 0.

> 

> Reviewed-by: Laurent Vivier <laurent@vivier.eu>

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  tests/tcg/multiarch/linux-test.c | 3 ++-

>  1 file changed, 2 insertions(+), 1 deletion(-)

> 

> diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c

> index fa4243fc04..673d7c8a1c 100644

> --- a/tests/tcg/multiarch/linux-test.c

> +++ b/tests/tcg/multiarch/linux-test.c

> @@ -503,8 +503,9 @@ static void test_shm(void)

>  

>      shmid = chk_error(shmget(IPC_PRIVATE, SHM_SIZE, IPC_CREAT | 0777));

>      ptr = shmat(shmid, NULL, 0);

> -    if (!ptr)

> +    if (ptr == (void *)-1) {

>          error("shmat");

> +    }

>  

>      memset(ptr, 0, SHM_SIZE);

>  

> 


Applied to my linux-user branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/tests/tcg/multiarch/linux-test.c b/tests/tcg/multiarch/linux-test.c
index fa4243fc04..673d7c8a1c 100644
--- a/tests/tcg/multiarch/linux-test.c
+++ b/tests/tcg/multiarch/linux-test.c
@@ -503,8 +503,9 @@  static void test_shm(void)
 
     shmid = chk_error(shmget(IPC_PRIVATE, SHM_SIZE, IPC_CREAT | 0777));
     ptr = shmat(shmid, NULL, 0);
-    if (!ptr)
+    if (ptr == (void *)-1) {
         error("shmat");
+    }
 
     memset(ptr, 0, SHM_SIZE);