Since applying this patch, coverity is picking up an out of bounds write.
It looks like it can't happen, but I'm wondering why this code was
done this way..

hand-editted diff for clarity:

 >      /* copy buffer, sans ANSI codes */
 >      len = strlen(outputbuf);
 > -    for (i = 0, j = 0; i < len; i++) {
 > +    for (i = 0, j = 0; (i < len) && (i + 2 < BUFSIZE) && (j < BUFSIZE); 
 > i++) {
 >              if (outputbuf[i] == '') {
 >                      if (outputbuf[i + 2] == '1')
 >                              i += 6; // ANSI_COLOUR
 >                      else
 >                              i += 3; // ANSI_RESET
 >              } else {
 >                      monobuf[j] = outputbuf[i];
 >                      j++;
 >              }
 >      }
 >      monobuf[j] = '\0';

What's the intent behind this ?
It seems redundant, as everything seems to work fine without this change.

        Dave

--
To unsubscribe from this list: send the line "unsubscribe trinity" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to