summaryrefslogtreecommitdiff
path: root/src/hardcopy.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-06-16 14:44:11 +0200
committerBram Moolenaar <Bram@vim.org>2018-06-16 14:44:11 +0200
commit43dee181f596c81b99e200b6cdfeb02ecfed42c8 (patch)
tree68c29c214922451c7113393d00a80f9b19b0f717 /src/hardcopy.c
parent52d3aaeea4c85406f46e2051729e4f007f83b35e (diff)
downloadvim-git-43dee181f596c81b99e200b6cdfeb02ecfed42c8.tar.gz
patch 8.1.0056: crash when using :hardcopy with illegal bytev8.1.0056
Problem: Crash when using :hardcopy with illegal byte. Solution: Check for string_convert() returning NULL. (Dominique Pelle)
Diffstat (limited to 'src/hardcopy.c')
-rw-r--r--src/hardcopy.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/hardcopy.c b/src/hardcopy.c
index 91f62c39f..420ceb763 100644
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -3372,8 +3372,9 @@ mch_print_start_line(int margin, int page_line)
}
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 @@ mch_print_text_out(char_u *p, int len UNUSED)
#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)
{