On Mon, Feb 3, 2020 at 8:59 AM Fred Kiefer <[email protected]> wrote:
> > > Am 03.02.2020 um 00:53 schrieb Sergii Stoian <[email protected]>: > > > > On Mon, Feb 3, 2020 at 1:05 AM Fred Kiefer <[email protected]> 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); -- Sergii Stoian
