summaryrefslogtreecommitdiff
path: root/src/pulsecore/shm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pulsecore/shm.c')
-rw-r--r--src/pulsecore/shm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c
index 9f44df37..8aa34faf 100644
--- a/src/pulsecore/shm.c
+++ b/src/pulsecore/shm.c
@@ -111,6 +111,7 @@ int pa_shm_create_rw(pa_shm *m, size_t size, pa_bool_t shared, mode_t mode) {
pa_assert(m);
pa_assert(size > 0);
pa_assert(size <= MAX_SHM_SIZE);
+ pa_assert(!(mode & ~0777));
pa_assert(mode >= 0600);
/* Each time we create a new SHM area, let's first drop all stale
@@ -151,7 +152,7 @@ int pa_shm_create_rw(pa_shm *m, size_t size, pa_bool_t shared, mode_t mode) {
pa_random(&m->id, sizeof(m->id));
segment_name(fn, sizeof(fn), m->id);
- if ((fd = shm_open(fn, O_RDWR|O_CREAT|O_EXCL, mode & 0444)) < 0) {
+ if ((fd = shm_open(fn, O_RDWR|O_CREAT|O_EXCL, mode)) < 0) {
pa_log("shm_open() failed: %s", pa_cstrerror(errno));
goto fail;
}