summaryrefslogtreecommitdiffstats
path: root/src/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/message.c')
-rw-r--r--src/message.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/message.c b/src/message.c
index da81fa0157..387a142a22 100644
--- a/src/message.c
+++ b/src/message.c
@@ -2588,16 +2588,19 @@ msg_puts_printf(char_u *str, int maxlen)
int n = (int)(s - p);
buf = alloc(n + 3);
- memcpy(buf, p, n);
- if (!info_message)
- buf[n++] = CAR;
- buf[n++] = NL;
- buf[n++] = NUL;
- if (info_message) // informative message, not an error
- mch_msg((char *)buf);
- else
- mch_errmsg((char *)buf);
- vim_free(buf);
+ if (buf != NULL)
+ {
+ memcpy(buf, p, n);
+ if (!info_message)
+ buf[n++] = CAR;
+ buf[n++] = NL;
+ buf[n++] = NUL;
+ if (info_message) // informative message, not an error
+ mch_msg((char *)buf);
+ else
+ mch_errmsg((char *)buf);
+ vim_free(buf);
+ }
p = s + 1;
}
}