mirror of
git://git.musl-libc.org/musl
synced 2025-03-05 03:07:29 +00:00
fix mmap leak in sem_open failure path for link call
the leak was found by static analysis (reported by Alexander Monakov), not tested/observed, but seems to have occured both when failing due to O_EXCL, and in a race condition with O_CREAT but not O_EXCL where a semaphore by the same name was created concurrently.
This commit is contained in:
parent
c5ab5bd3be
commit
086793ad99
@ -126,6 +126,7 @@ sem_t *sem_open(const char *name, int flags, ...)
|
||||
e = link(tmp, name) ? errno : 0;
|
||||
unlink(tmp);
|
||||
if (!e) break;
|
||||
munmap(map, sizeof(sem_t));
|
||||
/* Failure is only fatal when doing an exclusive open;
|
||||
* otherwise, next iteration will try to open the
|
||||
* existing file. */
|
||||
|
Loading…
Reference in New Issue
Block a user