...
In this compliant solution, the call to memcpy()
is replaced with a call to memmove()
. The memmove()
function performs the same operation as memcpy()
, but copying takes place as if when the memory regions do not overlap. When the memory regions do overlap the n characters from the object pointed to by the source (ptr1
) are first copied into a temporary array of n characters that does not overlap the objects pointed to by the destination (ptr2
) or the source. The n characters from the temporary array are then copied into the object pointed to by the destination.
...