--- chktex-1.6.4/FindErrs.c +++ chktex-1.6.4/FindErrs.c @@ -187,0 +187,9 @@ +static void ShiftLeftOne(char *Buf) +{ + char *P; + + for (P = Buf + 1; *P; ++P) + *(P - 1) = *P; + *(P - 1) = '\0'; +} + @@ -221,1 +230,10 @@ - strcpy(OrigDest, OrigDest + 1); --- + /* According to strcpy(3): The strings may not overlap + So the following call: + + strcpy(OrigDest, OrigDest + 1); + + is undefined, and it DOES produce errors in new versions + of glibc (checked on glibc-2.12.2). + + Call safe version. */ + ShiftLeftOne(OrigDest);