diff --git a/arg.c b/arg.c index a1508528..d4d31210 100644 --- a/arg.c +++ b/arg.c @@ -1,4 +1,4 @@ -/* $Id: arg.c,v 1.5 2008-08-28 17:45:25 nicm Exp $ */ +/* $Id: arg.c,v 1.6 2009-06-25 15:25:45 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott @@ -76,7 +76,7 @@ arg_parse_client(const char *arg) /* Trim a trailing : if any from the argument. */ n = strlen(arg2); - if (arg2[n - 1] == ':') + if (n && arg2[n - 1] == ':') arg2[n - 1] = '\0'; /* Try and look up the client name. */ @@ -101,7 +101,7 @@ arg_parse_session(const char *arg) /* Trim a trailing : if any from the argument. */ n = strlen(arg2); - if (arg2[n - 1] == ':') + if (n && arg2[n - 1] == ':') arg2[n - 1] = '\0'; /* See if the argument matches a session. */ diff --git a/attributes.c b/attributes.c index 24744481..259b7434 100644 --- a/attributes.c +++ b/attributes.c @@ -1,4 +1,4 @@ -/* $Id: attributes.c,v 1.1 2009-01-27 20:22:33 nicm Exp $ */ +/* $Id: attributes.c,v 1.2 2009-06-25 15:25:45 nicm Exp $ */ /* * Copyright (c) 2009 Joshua Elsasser @@ -45,7 +45,8 @@ attributes_tostring(u_char ch) strlcat(buf, "hidden,", sizeof (buf)); if (ch & GRID_ATTR_ITALICS) strlcat(buf, "italics,", sizeof (buf)); - *(strrchr(buf, ',')) = '\0'; + if (*buf) + *(strrchr(buf, ',')) = '\0'; return (buf); } diff --git a/client-msg.c b/client-msg.c index 182b26f2..14600421 100644 --- a/client-msg.c +++ b/client-msg.c @@ -1,4 +1,4 @@ -/* $Id: client-msg.c,v 1.18 2009-01-21 22:47:31 nicm Exp $ */ +/* $Id: client-msg.c,v 1.19 2009-06-25 15:25:45 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -73,7 +73,7 @@ client_msg_dispatch(struct client_ctx *cctx, char **error) int client_msg_fn_error(struct hdr *hdr, struct client_ctx *cctx, char **error) { - if (hdr->size > SIZE_MAX - 1) + if (hdr->size == SIZE_MAX) fatalx("bad MSG_ERROR size"); *error = xmalloc(hdr->size + 1);