2geom infinite loop in bezier root finding
Bug #916171 reported by
Gellule
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
Undecided
|
Gellule |
Bug Description
This affects trunk @ r10867.
Draw a vertical bezier curve with control points in the same vertical. Switch to select and transform tool. Turn snap to path on. Try to move the curve. Inkscape fezzes in an infinite loop, until memory exhaustion.
The infinite loop is in 2geom's solve_bezier_roots. Further analysis shows that the freeze happens when the input bezier is identically zero (coming from the verticality described above).
The minimum suggested fix would be to look for identically zero bezier at the beginning of this method. It is actually better to look for a constant bezier that also has no roots (provides a minor speed-up in borderline cases).
To post a comment you must log in.
Committed a fix at: http:// bazaar. launchpad. net/~inkscape. dev/inkscape/ trunk/revision/ 10880
Since this is a 2geom change, I also submitted this bug report. I think I remember a requirement to up-port 2geom changes...