Why do I get a PAR message when I call sprintf correctly? (Error Detection)

Purify is reporting an overlapping copy. For example, line 91 of the _fptostr routine, one of Microsoft's workhorse floating point conversion routines, contains the following call to strcpy:

87 else{

88 /* move the entire string to the left one digit to remove the

89 * unused overflow digit.

90 */

91 strcpy(buf,buf+1);

92 }

Microsoft documentation for strcpy() says "the behavior of strcpy is undefined if the source and destination strings overlap".

(C) Copyright IBM Corporation 1992, 2010.