summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm>2019-10-03 10:24:05 +0000
committernicm <nicm>2019-10-03 10:24:05 +0000
commitf4c7141f5d2abd06bb90443ad9edc7c1a985eb40 (patch)
treeff3a65e8f95a1e7648d310ff625e9d22a8d17873
parentbbd1032a2a6d76cacaaf729a4b465ec7ca24eef7 (diff)
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.c2
-rw-r--r--cmd-parse.y4
-rw-r--r--cmd.c2
-rw-r--r--layout-custom.c2
-rw-r--r--tty-term.c4
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;
diff --git a/cmd.c b/cmd.c
index bbcd7744..163db73b 100644
--- a/cmd.c
+++ b/cmd.c
@@ -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)
diff --git a/tty-term.c b/tty-term.c
index 774dc9ed..c408d968 100644
--- a/tty-term.c
+++ b/tty-term.c
@@ -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')