Created attachment 113517 [details]
typecheck Matrix.__mul__ second operand
In python3-cairo, the routine that implements the “*” operator between two Matrix objects neglects to ensure that its second operand really is a Matrix. Pass an arbitrary value, and it will cheerfully return nonsensical results, possibly even accessing invalid memory and causing a crash.
The enclosed patch adds the necessary typecheck.
Fixed since 1.12: https://github.com/pygobject/pycairo/issues/8