Rémi Bernon (@rbernon) commented about programs/explorer/systray.c:
- if ((nid.uFlags & NIF_INFO) && (nid.dwInfoFlags & NIIF_USER) && cds->cbData > ((char*)icon_data - (char*)data))
- {
/* Balloon icon */
LONG cbMaskBits;
LONG cbColourBits;
cbMaskBits = (data->balloon_icon_info.width * data->balloon_icon_info.height + 15) / 16 * 2;
cbColourBits = (data->balloon_icon_info.planes * data->balloon_icon_info.width * data->balloon_icon_info.height * data->balloon_icon_info.bpp + 15) / 16 * 2;
if (cds->cbData < ((char*)icon_data - (char*)data) + cbMaskBits + cbColourBits)
{
WINE_ERR("buffer underflow\n");
return FALSE;
}
nid.hBalloonIcon = CreateIcon(NULL, data->balloon_icon_info.width, data->balloon_icon_info.height, data->balloon_icon_info.planes, data->balloon_icon_info.bpp,
&icon_data[0], &icon_data[cbMaskBits]);
```suggestion:-0+0 icon_data, icon_data + cbMaskBits); ```