aboutsummaryrefslogtreecommitdiffhomepage
path: root/wl
diff options
context:
space:
mode:
Diffstat (limited to 'wl')
-rw-r--r--wl/wl.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/wl/wl.go b/wl/wl.go
index 2eb0e89f..da1ed2c8 100644
--- a/wl/wl.go
+++ b/wl/wl.go
@@ -10,7 +10,14 @@ package wl
#include "wayland-bind.h"
*/
import "C"
-import "errors"
+import (
+ "errors"
+ "strings"
+)
+
+var (
+ ErrContainsNull = errors.New("string contains null character")
+)
var resErr = [...]error{
0: nil,
@@ -19,6 +26,11 @@ var resErr = [...]error{
}
func bindWaylandFd(socketPath string, fd uintptr, appID, instanceID string, syncFD uintptr) error {
+ 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))
return resErr[int32(res)]
}
+
+func hasNull(s string) bool { return strings.IndexByte(s, '\x00') > -1 }