https://bugs.winehq.org/show_bug.cgi?id=57306
--- Comment #27 from Christoph Bartoschek christoph.bartoschek@gmail.com --- HeidSQL calls the function
BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT ellipse_width, INT ellipse_height )
with ellipse_width == 0 and ellipse_height == 0, resulting in max_points == 0. Then in get_arc_poitns the empty top_points array is written to.
I guess, either the function has to return early in such a case or one needs to check why the ellipse_width and ellipse_height are both 0 and fix the calling location.