On Sun, Jun 18, 2017 at 03:04:31PM +0200, Hiltjo Posthuma wrote: > Hey, > > This is a resend/bump of a patch about a month ago, can it get applied? > > Original message below: > > > mg crashes with certain (unicode) characters and moving the cursor to the > end of the line. > > The characters are printed to the screen as \nnn in vtpute() and vtcol is > updated, however vteeol() will write beyond the buffer. > > A test file contains the data: > > —————————————————— > > It is printed to the screen as: \342\200\224\342... etc. > > It is safer to use vtpute() here because it checks if vtcol >= 0. > > Below is a patch: > > > diff --git a/usr.bin/mg/display.c b/usr.bin/mg/display.c > index 7af723ce268..d7c22554753 100644 > --- a/usr.bin/mg/display.c > +++ b/usr.bin/mg/display.c > @@ -381,11 +381,8 @@ vtpute(int c) > void > vteeol(void) > { > - struct video *vp; > - > - vp = vscreen[vtrow]; > while (vtcol < ncol) > - vp->v_text[vtcol++] = ' '; > + vtpute(' '); > } > > /* >
*Bump!* Any feedback? :) -- Kind regards, Hiltjo