No, not crazy at all. What they have as pictures is this

[pixel data]
[Bitmap structure]

so this memcpy just copies the bytes to the end of pixel data array.

And free() is called over bitmap->_pixels which is set right below this memcpy()