Mercurial > vim
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) {