summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/wayland/wlshmallocator.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/wayland/wlshmallocator.c b/ext/wayland/wlshmallocator.c
index 183795c3b..f36811f18 100644
--- a/ext/wayland/wlshmallocator.c
+++ b/ext/wayland/wlshmallocator.c
@@ -30,6 +30,7 @@
#include <unistd.h>
#include <sys/mman.h>
#include <sys/types.h>
+#include <sys/stat.h>
GST_DEBUG_CATEGORY_EXTERN (gstwayland_debug);
#define GST_CAT_DEFAULT gstwayland_debug
@@ -46,6 +47,7 @@ gst_wl_shm_allocator_alloc (GstAllocator * allocator, gsize size,
int fd;
gpointer data;
GstWlShmMemory *mem;
+ mode_t mask;
/* TODO: make use of the allocation params, if necessary */
@@ -53,7 +55,9 @@ gst_wl_shm_allocator_alloc (GstAllocator * allocator, gsize size,
snprintf (filename, 1024, "%s/%s-%d-%s", g_get_user_runtime_dir (),
"wayland-shm", init++, "XXXXXX");
+ mask = umask (S_IRWXO | S_IRWXG);
fd = mkstemp (filename);
+ umask (mask);
if (fd < 0) {
GST_ERROR_OBJECT (self, "opening temp file %s failed: %s", filename,
strerror (errno));