FreeBSD Bugzilla – Attachment 106806 Details for
Bug 147492
[PATCH] textproc/scim-bridge segfaults.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 1.80 KB, created by
Ashish Shukla
on 2010-06-05 08:00:13 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
Ashish Shukla
Created:
2010-06-05 08:00:13 UTC
Size:
1.80 KB
patch
obsolete
>diff -urN /usr/ports/textproc/scim-bridge/files/patch-agent_scim-bridge-agent-accept-listener.cpp scim-bridge/files/patch-agent_scim-bridge-agent-accept-listener.cpp >--- /usr/ports/textproc/scim-bridge/files/patch-agent_scim-bridge-agent-accept-listener.cpp 1970-01-01 05:30:00.000000000 +0530 >+++ scim-bridge/files/patch-agent_scim-bridge-agent-accept-listener.cpp 2010-06-05 11:19:35.000000000 +0530 >@@ -0,0 +1,29 @@ >+ >+$FreeBSD$ >+ >+--- agent/scim-bridge-agent-accept-listener.cpp.orig >++++ agent/scim-bridge-agent-accept-listener.cpp >+@@ -106,12 +106,12 @@ >+ struct sockaddr_un socket_addr; >+ memset (&socket_addr, 0, sizeof (struct sockaddr_un)); >+ socket_addr.sun_family = AF_UNIX; >+- strcpy (socket_addr.sun_path, socket_path); >++ strncpy (socket_addr.sun_path, socket_path, 104); /* 104 is the maximum length of sun_path in FreeBSD */ >+ >+ const int MAX_TRIAL = 5; >+ for (int i = 0; i < MAX_TRIAL; ++i) { >+ scim_bridge_pdebugln (8, "Pinging for the another agent process..."); >+- if (connect (socket_fd, (struct sockaddr*)&socket_addr, sizeof (socket_addr.sun_family) + strlen (socket_addr.sun_path))) { >++ if (connect (socket_fd, (struct sockaddr*)&socket_addr, SUN_LEN(&socket_addr))) { >+ if (i == MAX_TRIAL - 1) { >+ scim_bridge_pdebugln (6, "It seems like there is no other agent for the old socket."); >+ break; >+@@ -163,7 +163,7 @@ >+ return RETVAL_FAILED; >+ } >+ >+- if (bind (socket_fd, (struct sockaddr*)&socket_addr, strlen (socket_addr.sun_path) + sizeof (socket_addr.sun_family)) != 0) { >++ if (bind (socket_fd, (struct sockaddr*)&socket_addr, SUN_LEN(&socket_addr)) != 0) { >+ scim_bridge_perrorln ("Cannot bind the socket: %s", strerror (errno)); >+ close (socket_fd); >+ socket_fd = -1;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 147492
: 106806