9675fc3c39
Port by Hitoshi Suzuki <sigh@kuzirabekon.econ.nagasaki-u.ac.jp>, with a few flavor tricks by me. Domo arigato, Suzuki san !
80 lines
2.6 KiB
Plaintext
80 lines
2.6 KiB
Plaintext
$OpenBSD: patch-lib_IMProto_c,v 1.1.1.1 2000/04/26 00:43:13 espie Exp $
|
|
--- lib/IMProto.c.orig Thu May 27 01:55:23 1999
|
|
+++ lib/IMProto.c Wed Apr 26 02:18:47 2000
|
|
@@ -298,7 +298,7 @@ Cardinal *num_args;
|
|
#else
|
|
(void)chmod(UNIX_SOCKET_DIR, 0777);
|
|
#endif
|
|
- (void)sprintf(path, "%s/%s", UNIX_SOCKET_DIR,
|
|
+ (void)snprintf(path, sizeof(path), "%s/%s", UNIX_SOCKET_DIR,
|
|
DisplayString(XtDisplay(new)));
|
|
/*
|
|
* Omit screen number and the preceding period.
|
|
@@ -312,8 +312,8 @@ Cardinal *num_args;
|
|
/*
|
|
* Append language part.
|
|
*/
|
|
- (void)strcat(path, "-");
|
|
- (void)strcat(path, ipw->imp.language);
|
|
+ (void)strlcat(path, "-", sizeof(path));
|
|
+ (void)strlcat(path, ipw->imp.language, sizeof(path));
|
|
/*
|
|
* Change every ':' in the path name to '_', since ':' is not
|
|
* included in POSIX Portable Filename Character Set.
|
|
@@ -454,8 +454,8 @@ IMProtocolWidget ipw;
|
|
|
|
TRACE(("IMProtocolWidget:getAtoms()\n"));
|
|
|
|
- (void)strcpy(buf, "@server=");
|
|
- (void)strcat(buf, ipw->imp.server_name);
|
|
+ (void)strlcpy(buf, "@server=", sizeof(buf));
|
|
+ (void)strlcat(buf, ipw->imp.server_name, sizeof(buf));
|
|
#define MAKEATOM(s) XInternAtom(dpy, s, False)
|
|
ipw->imp.server_atom = MAKEATOM(buf);
|
|
ipw->imp.ctext_atom = MAKEATOM("COMPOUND_TEXT");
|
|
@@ -599,8 +599,8 @@ int *formatp;
|
|
char buf[1024];
|
|
|
|
TRACE(("target is \"LOCALES\"\n"));
|
|
- (void)strcpy(buf, "@locale=");
|
|
- (void)strcat(buf, ipw->imp.locales);
|
|
+ (void)strlcpy(buf, "@locale=", sizeof(buf));
|
|
+ (void)strlcat(buf, ipw->imp.locales, sizeof(buf));
|
|
TRACE(("\ttype: STRING, value: %s\n", buf));
|
|
/*
|
|
* The protocol spec is unclear on the type of the
|
|
@@ -621,27 +621,27 @@ int *formatp;
|
|
|
|
XmuGetHostname(hostname, 256);
|
|
|
|
- (void)strcpy(buf, "@transport=");
|
|
+ (void)strlcpy(buf, "@transport=", sizeof(buf));
|
|
|
|
#ifdef IM_X_TRANSPORT
|
|
if (ipw->imp.use_x_transport) {
|
|
- (void)strcat(buf, "X/,");
|
|
+ (void)strlcat(buf, "X/,", sizeof(buf));
|
|
}
|
|
#endif /* IM_X_TRANSPORT */
|
|
|
|
#ifdef IM_TCP_TRANSPORT
|
|
if (ipw->imp.use_tcp_transport) {
|
|
char t_buf[1024];
|
|
- (void)sprintf(t_buf, "tcp/%s:%d,", hostname, ipw->imp.tcp_port);
|
|
- (void)strcat(buf, t_buf);
|
|
+ (void)snprintf(t_buf, sizeof(t_buf), "tcp/%s:%d,", hostname, ipw->imp.tcp_port);
|
|
+ (void)strlcat(buf, t_buf, sizeof(buf));
|
|
}
|
|
#endif /* IM_TCP_TRANSPORT */
|
|
|
|
#ifdef IM_UNIX_TRANSPORT
|
|
if (ipw->imp.use_unix_transport) {
|
|
char u_buf[1024];
|
|
- (void)sprintf(u_buf, "local/%s:%s,", hostname, ipw->imp.unix_path);
|
|
- (void)strcat(buf, u_buf);
|
|
+ (void)snprintf(u_buf, sizeof(u_buf), "local/%s:%s,", hostname, ipw->imp.unix_path);
|
|
+ (void)strlcat(buf, u_buf, sizeof(buf));
|
|
}
|
|
#endif /* IM_UNIX_TRANSPORT */
|
|
|