shell32: Fix a memory leak.
diff --git a/dlls/shell32/systray.c b/dlls/shell32/systray.c
index 2258eb9..cb67fd8 100644
--- a/dlls/shell32/systray.c
+++ b/dlls/shell32/systray.c
@@ -169,7 +169,11 @@
GetBitmapBits(iconinfo.hbmMask, cbMaskBits, buffer);
buffer += cbMaskBits;
GetBitmapBits(iconinfo.hbmColor, cbColourBits, buffer);
- buffer += cbColourBits;
+
+ /* Reset pointer to allocated block so it can be freed later.
+ * Note that cds.lpData cannot be passed to HeapFree since it
+ * points to nid when no icon info is found. */
+ buffer = cds.lpData;
DeleteObject(iconinfo.hbmMask);
DeleteObject(iconinfo.hbmColor);