Esme Povirk (@madewokherd) commented about dlls/gdiplus/pathiterator.c:
return InvalidParameter;
- return NotImplemented;
- count = iter->subpath_pos;
- i = iter->pathtype_pos;
- if (i >= count) {
*result = 0;
return Ok;
- }
- /* set starting point to first PathPointTypeStart and */
- if ((iter->pathdata.Types[i] & PathPointTypePathTypeMask) == PathPointTypeStart) {
*start = i;
i++;
*end = i;
*type = iter->pathdata.Types[i] & PathPointTypePathTypeMask;
I'm not sure, but I think this could access pathdata out of range if the path ends with PathPointTypeStart.