diff options
| author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-09-29 14:29:48 -0300 |
|---|---|---|
| committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-10-02 16:11:55 -0300 |
| commit | a16d2abd496bd974a88207d5599265aae5ae4880 (patch) | |
| tree | a14903b78d6a30e04825173ce4157f2263e88ec1 /sysvipc/test-sysvsem.c | |
| parent | 574500a108be1d2a6a0dc97a075c9e0a98371aba (diff) | |
| download | glibc-a16d2abd496bd974a88207d5599265aae5ae4880.tar.xz glibc-a16d2abd496bd974a88207d5599265aae5ae4880.zip | |
sysvipc: Return EINVAL for invalid semctl commands
It avoids regressions on possible future commands that might require
additional libc support. The downside is new commands added by newer
kernels will need further glibc support.
Checked on x86_64-linux-gnu and i686-linux-gnu (Linux v4.15 and v5.4).
Diffstat (limited to 'sysvipc/test-sysvsem.c')
| -rw-r--r-- | sysvipc/test-sysvsem.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sysvipc/test-sysvsem.c b/sysvipc/test-sysvsem.c index b7284e0b48..61837d8f3d 100644 --- a/sysvipc/test-sysvsem.c +++ b/sysvipc/test-sysvsem.c @@ -25,6 +25,8 @@ #include <sys/ipc.h> #include <sys/sem.h> +#include <test-sysvipc.h> + #include <support/support.h> #include <support/check.h> #include <support/temp_file.h> @@ -80,6 +82,9 @@ do_test (void) FAIL_EXIT1 ("semget failed (errno=%d)", errno); } + TEST_COMPARE (semctl (semid, 0, first_sem_invalid_cmd (), NULL), -1); + TEST_COMPARE (errno, EINVAL); + /* Get semaphore kernel information and do some sanity checks. */ struct semid_ds seminfo; if (semctl (semid, 0, IPC_STAT, (union semun) { .buf = &seminfo }) == -1) |
