diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-02-23 03:24:37 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-02-23 03:24:37 +0900 |
| commit | eda4d612c2e64321766e1074a698caeae843102a (patch) | |
| tree | c492042ffd52930c8578884ec2800a25690bae3a /wl | |
| parent | 2e7e16068372a0c0b42bd6b3da2433134c91a495 (diff) | |
fortify: keep external files alive
This should eliminate sporadic failures, like the known double close in "seccomp".
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'wl')
| -rw-r--r-- | wl/conn.go | 1 | ||||
| -rw-r--r-- | wl/wayland-bind.c | 2 | ||||
| -rw-r--r-- | wl/wayland-bind.h | 2 | ||||
| -rw-r--r-- | wl/wl.go | 2 |
4 files changed, 4 insertions, 3 deletions
@@ -94,6 +94,7 @@ func bindRawConn(done chan struct{}, rc syscall.RawConn, p, appID, instanceID st // keep socket alive until done is requested <-done + runtime.KeepAlive(syncPipe[1].Fd()) }); err != nil { setupDone <- err } diff --git a/wl/wayland-bind.c b/wl/wayland-bind.c index a177a378..01e8b882 100644 --- a/wl/wayland-bind.c +++ b/wl/wayland-bind.c @@ -23,7 +23,7 @@ static const struct wl_registry_listener registry_listener = { .global_remove = registry_handle_global_remove, }; -int32_t bind_wayland_fd(char *socket_path, int fd, const char *app_id, const char *instance_id, int sync_fd) { +int32_t f_bind_wayland_fd(char *socket_path, int fd, const char *app_id, const char *instance_id, int sync_fd) { int32_t res = 0; // refer to resErr for meaning struct wl_display *display; diff --git a/wl/wayland-bind.h b/wl/wayland-bind.h index 67898fc6..720dfe4e 100644 --- a/wl/wayland-bind.h +++ b/wl/wayland-bind.h @@ -1,3 +1,3 @@ #include <stdint.h> -int32_t bind_wayland_fd(char *socket_path, int fd, const char *app_id, const char *instance_id, int sync_fd);
\ No newline at end of file +int32_t f_bind_wayland_fd(char *socket_path, int fd, const char *app_id, const char *instance_id, int sync_fd);
\ No newline at end of file @@ -29,7 +29,7 @@ func bindWaylandFd(socketPath string, fd uintptr, appID, instanceID string, sync if hasNull(appID) || hasNull(instanceID) { return ErrContainsNull } - res := C.bind_wayland_fd(C.CString(socketPath), C.int(fd), C.CString(appID), C.CString(instanceID), C.int(syncFD)) + res := C.f_bind_wayland_fd(C.CString(socketPath), C.int(fd), C.CString(appID), C.CString(instanceID), C.int(syncFD)) return resErr[int32(res)] } |
