diff --git a/server-fn.c b/server-fn.c index af326b02..97c16a6d 100644 --- a/server-fn.c +++ b/server-fn.c @@ -1,4 +1,4 @@ -/* $Id: server-fn.c,v 1.5 2007-09-27 10:09:37 nicm Exp $ */ +/* $Id: server-fn.c,v 1.6 2007-09-28 21:08:30 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -31,6 +31,7 @@ server_find_sessid(struct sessid *sid, char **cause) u_int i, n; if (*sid->name != '\0') { + sid->name[(sizeof sid->name) - 1] = '\0'; if ((s = session_find(sid->name)) == NULL) { xasprintf(cause, "session not found: %s", sid->name); return (NULL); diff --git a/server-msg.c b/server-msg.c index 4d84a3d3..8a680018 100644 --- a/server-msg.c +++ b/server-msg.c @@ -1,4 +1,4 @@ -/* $Id: server-msg.c,v 1.5 2007-09-27 09:52:03 nicm Exp $ */ +/* $Id: server-msg.c,v 1.6 2007-09-28 21:08:30 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -112,6 +112,7 @@ server_msg_fn_new(struct hdr *hdr, struct client *c) if (c->sy == 0) c->sy = 25; + data.name[(sizeof data.name) - 1] = '\0'; if (*data.name != '\0' && session_find(data.name) != NULL) { xasprintf(&msg, "duplicate session: %s", data.name); server_write_client(c, MSG_ERROR, msg, strlen(msg));