Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ports-kde
Path: blob/main/japanese/Wnn6-lib/files/patch-Wnn-jlib-js.c
16461 views
1
--- Wnn/jlib/js.c.orig 2000-09-01 18:58:55.000000000 +0900
2
+++ Wnn/jlib/js.c 2009-01-03 07:49:43.000000000 +0900
3
@@ -342,18 +342,20 @@
4
} else {
5
sock_name = UNIX_SOCKET_NAME; /* Jserver */
6
}
7
- strcpy(saddr.sun_path, sock_name);
8
-#if ((defined AIXV3) || (defined FREEBSD) || (defined BSDOS) || (defined NETBSD))
9
- strcat(saddr.sun_path, "=");
10
-#endif
11
-
12
+ strncpy(saddr.sun_path, sock_name, sizeof(saddr.sun_path) - 1);
13
+ saddr.sun_path[sizeof(saddr.sun_path) - 1] = '\0';
14
+
15
if ((sd = socket(AF_UNIX,SOCK_STREAM, 0)) == ERROR) {
16
#if DEBUG
17
xerror("jslib:Can't create socket.\n");
18
#endif
19
return -1;
20
}
21
- if (connect(sd,(struct sockaddr *)&saddr,strlen(saddr.sun_path)+sizeof(saddr.sun_family)) == ERROR) {
22
+
23
+#if !defined(SUN_LEN)
24
+# define SUN_LEN(su) (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))
25
+#endif
26
+ if (connect(sd,(struct sockaddr *)&saddr, SUN_LEN(&saddr)) == ERROR) {
27
#if DEBUG
28
xerror("jslib:Can't connect socket.\n");
29
#endif
30
31