From 8dbbdc4bf298335b8f0aa1c1e57ef7628232f6ae Mon Sep 17 00:00:00 2001 From: Travis McLane Date: Wed, 1 Nov 2023 10:25:13 -0500 Subject: [PATCH] [v3 linux] sanitize appId more thoroughly --- v3/pkg/application/linux_cgo.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/v3/pkg/application/linux_cgo.go b/v3/pkg/application/linux_cgo.go index 06b20a7e..3f43913f 100644 --- a/v3/pkg/application/linux_cgo.go +++ b/v3/pkg/application/linux_cgo.go @@ -4,6 +4,7 @@ package application import ( "fmt" + "regexp" "strings" "unsafe" @@ -192,7 +193,14 @@ func appName() string { } func appNew(name string) pointer { - nameC := C.CString(fmt.Sprintf("org.wails.%s", name)) + // prevent leading number + if matched, _ := regexp.MatchString(`^\d+`, name); matched { + name = fmt.Sprintf("_%s", name) + } + name = strings.Replace(name, "(", "_", -1) + name = strings.Replace(name, ")", "_", -1) + appId := fmt.Sprintf("org.wails.%s", name) + nameC := C.CString(appId) defer C.free(unsafe.Pointer(nameC)) return pointer(C.gtk_application_new(nameC, C.APPLICATION_DEFAULT_FLAGS)) }