patch 8.1.0056: crash when using :hardcopy with illegal byte
Problem: Crash when using :hardcopy with illegal byte.
Solution: Check for string_convert() returning NULL. (Dominique Pelle)
diff --git a/src/hardcopy.c b/src/hardcopy.c
index 91f62c3..420ceb7 100644
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -3372,8 +3372,9 @@
}
int
-mch_print_text_out(char_u *p, int len UNUSED)
+mch_print_text_out(char_u *textp, int len UNUSED)
{
+ char_u *p = textp;
int need_break;
char_u ch;
char_u ch_buff[8];
@@ -3508,8 +3509,15 @@
#ifdef FEAT_MBYTE
if (prt_do_conv)
+ {
/* Convert from multi-byte to 8-bit encoding */
tofree = p = string_convert(&prt_conv, p, &len);
+ if (p == NULL)
+ {
+ p = (char_u *)"";
+ len = 0;
+ }
+ }
if (prt_out_mbyte)
{