pcb

Crash resulting from polygons with overlapping parallel segments

Bug #1797562 reported by Chad Parker on 2018-10-12
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pcb
Undecided
Unassigned

Bug Description

pcb crashes under certain conditions when a polygon, or a segment of a polygon has zero area. For example, creating a polygon with the following six points:

 1 ______ 6
  |******|
  |******|
 3|******|
  |\*****|
  |*\****|
  |**\___|
 2 4 5

(*'s are used so that the auto-formatting doesn't cause the ASCII art to collapse)

If you then attempt to move point 2, pcb will die. Obviously this is not a shape that people are frequently interested in, but, a simpler case could happen accidentally quite easily:

1,3 ----------- 2

While debugging something else, I stumbled on this. In a debug build, there is failed assertion in polygon1.c:

Assertion failed: (poly_Valid (np)), function original_poly, file ../../src/polygon.c, line 329.

This appears to check the number of points in a polygon against the number of items found in an r_search.

description: updated
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers