I wrote:

> Patch 8.1.0565
> Problem:    Asan complains about reading before allocated block.
> Solution:   Workaround: Avoid offset from becoming negative.
> Files:            src/gui.c
> 
> 
> *** ../vim-8.1.0564/src/gui.c 2018-11-16 16:21:01.633310065 +0100
> --- src/gui.c 2018-12-05 19:44:07.455956642 +0100
> ***************
> *** 2753,2759 ****
>       }
>       else if (enc_utf8)
>       {
> !         if (ScreenLines[off + col1] == 0)
>               --col1;
>   # ifdef FEAT_GUI_GTK
>           if (col2 + 1 < Columns && ScreenLines[off + col2 + 1] == 0)
> --- 2753,2760 ----
>       }
>       else if (enc_utf8)
>       {
> !         // FIXME: how can the first character ever be zero?
> !         if (col1 > 0 && ScreenLines[off + col1] == 0)
>               --col1;
>   # ifdef FEAT_GUI_GTK
>           if (col2 + 1 < Columns && ScreenLines[off + col2 + 1] == 0)

This indeed fixed the ASAN report.  However, I don't see how the
character in the first column can be zero.  That should not happen.

The ASAN reporte started with patch 8.1.0562, which changes the parsing
of 'diffmode'.  I don't see how that can trigger this problem.  It might
have been caused by a library change.

I have not been able to reproduce the problem locally.  If someone can,
please figure out what the root cause is.  E.g. would be useful to know
what is being redrawn and what is in the other lines.  I suspect it's
redrawing the whole display, so perhaps it's the last line?

-- 
"I've been teaching myself to play the piano for about 5 years and now write
most of my songs on it, mainly because I can never find any paper."
                Jeff Lynne, ELO's greatest hits

 /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui