> Am 03.02.2020 um 00:53 schrieb Sergii Stoian <address@hidden>:
>
> On Mon, Feb 3, 2020 at 1:05 AM Fred Kiefer <address@hidden> wrote:
>
> I just ran a quick scan with valgrind and this did not detect any obvious wrong memory access. Looking at the code once again I see that line 4276 may be wrong for certain bytesPerRow values. Here the old code that copied over line by line is safer. Maybe we could check bytesPerRow versus pixelsWide*4 and use the old code if they are not the same?
>
> Line 4276 looks like this: "xcursorImage->yhot = hotp.y;" Do you mean memcpy call at 4279?
Yes, it was line 4276 in the original merge commit, but has changed since then.
Could you please explain why old code is safer?
Old code:
for (row = 0; row < h; row++)
{
memcpy((char*)xcursorImage->pixels + (row * (w * 4)),
data + (row * bytesPerRow),
bytesPerRow);
}
New code:
memcpy((char*)xcursorImage->pixels, data, w * h * colors);
--