Path: blob/main/japanese/Wnn6-lib/files/patch-Wnn-jlib-js.c
16461 views
--- Wnn/jlib/js.c.orig 2000-09-01 18:58:55.000000000 +09001+++ Wnn/jlib/js.c 2009-01-03 07:49:43.000000000 +09002@@ -342,18 +342,20 @@3} else {4sock_name = UNIX_SOCKET_NAME; /* Jserver */5}6- strcpy(saddr.sun_path, sock_name);7-#if ((defined AIXV3) || (defined FREEBSD) || (defined BSDOS) || (defined NETBSD))8- strcat(saddr.sun_path, "=");9-#endif10-11+ strncpy(saddr.sun_path, sock_name, sizeof(saddr.sun_path) - 1);12+ saddr.sun_path[sizeof(saddr.sun_path) - 1] = '\0';13+14if ((sd = socket(AF_UNIX,SOCK_STREAM, 0)) == ERROR) {15#if DEBUG16xerror("jslib:Can't create socket.\n");17#endif18return -1;19}20- if (connect(sd,(struct sockaddr *)&saddr,strlen(saddr.sun_path)+sizeof(saddr.sun_family)) == ERROR) {21+22+#if !defined(SUN_LEN)23+# define SUN_LEN(su) (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path))24+#endif25+ if (connect(sd,(struct sockaddr *)&saddr, SUN_LEN(&saddr)) == ERROR) {26#if DEBUG27xerror("jslib:Can't connect socket.\n");28#endif293031