[COMMITTED] linux: Fix __sem_check_add_mapping name length
Commit Message
Take in consideration the trailling NULL since sem_search uses
strcmp to compare entries.
Checked on x86_64-linux-gnu and powerpc-linux-gnu (where it triggered
a nptl/tst-sem7 regression).
---
sysdeps/pthread/sem_routines.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Feb 09 2021, Adhemerval Zanella via Libc-alpha wrote:
> diff --git a/sysdeps/pthread/sem_routines.c b/sysdeps/pthread/sem_routines.c
> index ea7a445324..c2c8b54cd0 100644
> --- a/sysdeps/pthread/sem_routines.c
> +++ b/sysdeps/pthread/sem_routines.c
> @@ -72,6 +72,7 @@ __sem_check_add_mapping (const char *name, int fd, sem_t *existing)
> size_t namelen = strlen (name);
> if (namelen > NAME_MAX)
> return SEM_FAILED;
> + namelen += 1;
struct search_sem has only room for NAME_MAX.
Andreas.
@@ -72,6 +72,7 @@ __sem_check_add_mapping (const char *name, int fd, sem_t *existing)
size_t namelen = strlen (name);
if (namelen > NAME_MAX)
return SEM_FAILED;
+ namelen += 1;
sem_t *result = SEM_FAILED;