fix memcpy of overlapping area