aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client.c8
-rw-r--r--input.c5
2 files changed, 7 insertions, 6 deletions
diff --git a/client.c b/client.c
index 9c493dfa..9a5ae455 100644
--- a/client.c
+++ b/client.c
@@ -354,6 +354,7 @@ client_send_identify(int flags)
{
const char *s;
char **ss;
+ size_t sslen;
int fd;
pid_t pid;
@@ -378,8 +379,11 @@ client_send_identify(int flags)
pid = getpid();
client_write_one(MSG_IDENTIFY_CLIENTPID, -1, &pid, sizeof pid);
- for (ss = environ; *ss != NULL; ss++)
- client_write_one(MSG_IDENTIFY_ENVIRON, -1, *ss, strlen(*ss) + 1);
+ for (ss = environ; *ss != NULL; ss++) {
+ sslen = strlen(*ss) + 1;
+ if (sslen <= MAX_IMSGSIZE - IMSG_HEADER_SIZE)
+ client_write_one(MSG_IDENTIFY_ENVIRON, -1, *ss, sslen);
+ }
client_write_one(MSG_IDENTIFY_DONE, -1, NULL, 0);
diff --git a/input.c b/input.c
index d1ff17fe..095816c3 100644
--- a/input.c
+++ b/input.c
@@ -801,10 +801,7 @@ input_reset(struct window_pane *wp)
{
struct input_ctx *ictx = wp->ictx;
- memcpy(&ictx->cell, &grid_default_cell, sizeof ictx->cell);
- memcpy(&ictx->old_cell, &ictx->cell, sizeof ictx->old_cell);
- ictx->old_cx = 0;
- ictx->old_cy = 0;
+ input_reset_cell(ictx);
if (wp->mode == NULL)
screen_write_start(&ictx->ctx, wp, &wp->base);