diff --git a/cmd-set-buffer.c b/cmd-set-buffer.c index 0e754bb6..e7f9b95d 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;