On Wed, Jul 25, 2018 at 03:10:28PM -0400, Programmer wrote: > Follows is the proper form of the st patch submitted earlier, > st-fix_8613_colors-0.8.1.diff: > > diff -up st-0.8.1/st.c st-0.8.1-changed/st.c > --- st-0.8.1/st.c Tue Mar 20 15:29:59 2018 > +++ st-0.8.1-changed/st.c Wed Jul 25 13:55:16 2018 > @@ -1157,7 +1157,7 @@ csiparse(void) > v = -1; > csiescseq.arg[csiescseq.narg++] = v; > p = np; > - if (*p != ';' || csiescseq.narg == ESC_ARG_SIZ) > + if (*p != ';' || *p != ':' || csiescseq.narg == ESC_ARG_SIZ) > break; > p++; > } > @@ -1311,16 +1311,16 @@ tdefcolor(int *attr, int *npar, int l) > > switch (attr[*npar + 1]) { > case 2: /* direct color in RGB space */ > - if (*npar + 4 >= l) { > + if (*npar + 5 >= l) { > fprintf(stderr, > "erresc(38): Incorrect number of parameters > (%d)\n", > *npar); > break; > } > - r = attr[*npar + 2]; > - g = attr[*npar + 3]; > - b = attr[*npar + 4]; > - *npar += 4; > + r = attr[*npar + 3]; > + g = attr[*npar + 4]; > + b = attr[*npar + 5]; > + *npar += 5; > if (!BETWEEN(r, 0, 255) || !BETWEEN(g, 0, 255) || !BETWEEN(b, > 0, 255)) > fprintf(stderr, "erresc: bad rgb color (%u,%u,%u)\n", > r, g, b); >
Thanks for the patch and detailed info in the previous mail. I'm curious, is there a specific program you use where this bug is noticable? I'll look at the patch at a later date. -- Kind regards, Hiltjo