Dominique wrote:

> Bram Moolenaar wrote:
> 
> > 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?
> 
> For the record, all tests pass for me locally with
> asan too, despite trying to undo the workaround
> from patch 8.1.0565.

I suspect it's something in the setup on Travis that triggers it.
Hard to tell what it is.

I thought valgrind had a flag to check for access before allocated
memory (it normally checks for access after allocated memory), but can't
find it...  Perhaps it does check both always?

-- 
I used to wonder about the meaning of life.  But I looked it
up in the dictionary under "L" and there it was - the meaning
of life.  It was less than I expected.              - Dogbert

 /// Bram Moolenaar -- [email protected] -- 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui