summaryrefslogtreecommitdiffstats
path: root/cmd-set-buffer.c
diff options
context:
space:
mode:
authornicm <nicm>2014-03-31 21:43:55 +0000
committernicm <nicm>2014-03-31 21:43:55 +0000
commit3c06bec03fe269b8a2548c147fe7b4f2eb4d3c7a (patch)
tree59dd1416bfcf84ca58f2f1c3631e12344df30439 /cmd-set-buffer.c
parentee19d304ff366741f6f94334bbc82124a4c44dbc (diff)
Don't crash with a zero-length argument to setb, from J Raynor.
Diffstat (limited to 'cmd-set-buffer.c')
-rw-r--r--cmd-set-buffer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/cmd-set-buffer.c b/cmd-set-buffer.c
index 0942da9a..a206760c 100644
--- a/cmd-set-buffer.c
+++ b/cmd-set-buffer.c
@@ -56,6 +56,9 @@ cmd_set_buffer_exec(struct cmd *self, struct cmd_q *cmdq)
pb = NULL;
buffer = -1;
+ if ((newsize = strlen(args->argv[0])) == 0)
+ return (CMD_RETURN_NORMAL);
+
if (args_has(args, 'b')) {
buffer = args_strtonum(args, 'b', 0, INT_MAX, &cause);
if (cause != NULL) {
@@ -80,8 +83,6 @@ cmd_set_buffer_exec(struct cmd *self, struct cmd_q *cmdq)
memcpy(pdata, pb->data, psize);
}
- newsize = strlen(args->argv[0]);
-
pdata = xrealloc(pdata, 1, psize + newsize);
memcpy(pdata + psize, args->argv[0], newsize);
psize += newsize;