diff src/hardcopy.c @ 14077:873542706b0b v8.1.0056

patch 8.1.0056: crash when using :hardcopy with illegal byte commit https://github.com/vim/vim/commit/43dee181f596c81b99e200b6cdfeb02ecfed42c8 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 16 14:44:11 2018 +0200 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)
author Christian Brabandt <cb@256bit.org>
date Sat, 16 Jun 2018 14:45:05 +0200
parents 6acb9148d83e
children 2ad722003b36
line wrap: on
line diff
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -3372,8 +3372,9 @@ mch_print_start_line(int margin, int pag
 }
 
     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 UN
 
 #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)
     {