diff options
author | nicm <nicm> | 2019-10-03 10:24:05 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-10-03 10:24:05 +0000 |
commit | f4c7141f5d2abd06bb90443ad9edc7c1a985eb40 (patch) | |
tree | ff3a65e8f95a1e7648d310ff625e9d22a8d17873 | |
parent | bbd1032a2a6d76cacaaf729a4b465ec7ca24eef7 (diff) | |
download | rtmux-f4c7141f5d2abd06bb90443ad9edc7c1a985eb40.tar.gz rtmux-f4c7141f5d2abd06bb90443ad9edc7c1a985eb40.tar.bz2 rtmux-f4c7141f5d2abd06bb90443ad9edc7c1a985eb40.zip |
Do not lazily use BUFSIZ for "I don't care what size" when building
strings because it is only guaranteed to be 256 bytes and even the
default 1024 is not always enough. Reported by Gregory Pakosz.
-rw-r--r-- | cmd-list-keys.c | 2 | ||||
-rw-r--r-- | cmd-parse.y | 4 | ||||
-rw-r--r-- | cmd.c | 2 | ||||
-rw-r--r-- | layout-custom.c | 2 | ||||
-rw-r--r-- | tty-term.c | 4 |
5 files changed, 7 insertions, 7 deletions
diff --git a/cmd-list-keys.c b/cmd-list-keys.c index 57f65c8e..ef862101 100644 --- a/cmd-list-keys.c +++ b/cmd-list-keys.c @@ -61,7 +61,7 @@ cmd_list_keys_exec(struct cmd *self, struct cmdq_item *item) struct key_table *table; struct key_binding *bd; const char *tablename, *r; - char *key, *cp, tmp[BUFSIZ]; + char *key, *cp, tmp[8192]; int repeat, width, tablewidth, keywidth; if (self->entry == &cmd_list_commands_entry) diff --git a/cmd-parse.y b/cmd-parse.y index b0a42f7c..0cd7c6bf 100644 --- a/cmd-parse.y +++ b/cmd-parse.y @@ -1245,7 +1245,7 @@ yylex_token_variable(char **buf, size_t *len) { struct environ_entry *envent; int ch, brackets = 0; - char name[BUFSIZ]; + char name[1024]; size_t namelen = 0; const char *value; @@ -1297,7 +1297,7 @@ yylex_token_tilde(char **buf, size_t *len) { struct environ_entry *envent; int ch; - char name[BUFSIZ]; + char name[1024]; size_t namelen = 0; struct passwd *pw; const char *home = NULL; @@ -385,7 +385,7 @@ cmd_find(const char *name, char **cause) { const struct cmd_entry **loop, *entry, *found = NULL; int ambiguous; - char s[BUFSIZ]; + char s[8192]; ambiguous = 0; for (loop = cmd_table; *loop != NULL; loop++) { diff --git a/layout-custom.c b/layout-custom.c index d759c206..4ac90a37 100644 --- a/layout-custom.c +++ b/layout-custom.c @@ -60,7 +60,7 @@ layout_checksum(const char *layout) char * layout_dump(struct layout_cell *root) { - char layout[BUFSIZ], *out; + char layout[8192], *out; *layout = '\0'; if (layout_append(root, layout, sizeof layout) != 0) @@ -278,7 +278,7 @@ static char * tty_term_strip(const char *s) { const char *ptr; - static char buf[BUFSIZ]; + static char buf[8192]; size_t len; /* Ignore strings with no padding. */ @@ -306,7 +306,7 @@ tty_term_strip(const char *s) static char * tty_term_override_next(const char *s, size_t *offset) { - static char value[BUFSIZ]; + static char value[8192]; size_t n = 0, at = *offset; if (s[at] == '\0') |