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

Reply via email to