forked from enlightenment/enlightenment
wl input - use eina mkstemp to handle umask right
fix CID 1403927
This commit is contained in:
parent
78102717ae
commit
c1f73110ac
|
@ -324,6 +324,7 @@ _e_comp_wl_input_keymap_fd_get(void)
|
||||||
char tmp[PATH_MAX];
|
char tmp[PATH_MAX];
|
||||||
long flags;
|
long flags;
|
||||||
void *mm;
|
void *mm;
|
||||||
|
Eina_Tmpstr *tmpstr = NULL;
|
||||||
|
|
||||||
blen = sizeof(tmp) - 1;
|
blen = sizeof(tmp) - 1;
|
||||||
|
|
||||||
|
@ -339,28 +340,33 @@ _e_comp_wl_input_keymap_fd_get(void)
|
||||||
else
|
else
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ((fd = mkstemp(tmp)) < 0) return -1;
|
if ((fd = eina_file_mkstemp(tmp, &tmpstr)) < 0) return -1;
|
||||||
|
|
||||||
flags = fcntl(fd, F_GETFD);
|
flags = fcntl(fd, F_GETFD);
|
||||||
if (flags < 0)
|
if (flags < 0)
|
||||||
{
|
{
|
||||||
|
eina_tmpstr_del(tmpstr);
|
||||||
close(fd);
|
close(fd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fcntl(fd, F_SETFD, (flags | FD_CLOEXEC)) == -1)
|
if (fcntl(fd, F_SETFD, (flags | FD_CLOEXEC)) == -1)
|
||||||
{
|
{
|
||||||
|
eina_tmpstr_del(tmpstr);
|
||||||
close(fd);
|
close(fd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ftruncate(fd, e_comp_wl->xkb.map_size) < 0)
|
if (ftruncate(fd, e_comp_wl->xkb.map_size) < 0)
|
||||||
{
|
{
|
||||||
|
eina_tmpstr_del(tmpstr);
|
||||||
close(fd);
|
close(fd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
unlink(tmp);
|
unlink(tmpstr);
|
||||||
|
eina_tmpstr_del(tmpstr);
|
||||||
|
|
||||||
mm = mmap(NULL, e_comp_wl->xkb.map_size, (PROT_READ | PROT_WRITE),
|
mm = mmap(NULL, e_comp_wl->xkb.map_size, (PROT_READ | PROT_WRITE),
|
||||||
MAP_SHARED, fd, 0);
|
MAP_SHARED, fd, 0);
|
||||||
if (mm == MAP_FAILED)
|
if (mm == MAP_FAILED)
|
||||||
|
|
Loading…
Reference in New Issue