Bug 456922

Summary: SVG file that makes Krita use memory infinitely until I kill the process
Product: [Applications] krita Reporter: Max <hifimax>
Component: File formatsAssignee: sh_zam <shzam>
Status: RESOLVED FIXED    
Severity: crash CC: halla, hifimax, shzam
Priority: NOR Keywords: release_blocker
Version: 5.0.6   
Target Milestone: ---   
Platform: Other   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: bugged file

Description Max 2022-07-19 15:12:13 UTC
Created attachment 150742 [details]
bugged file

SUMMARY

This specific SVG file of an icon puts Krita in a state of infinitely increasing memory used until I have to kill it. For testing purposes I've loaded it into Inkscape and saved it. This worked without any problems. This happened in 4.4.x too but didn't change when I upgraded my installation.

STEPS TO REPRODUCE
1. Load the file

SOFTWARE/OS VERSIONS
Windows: Windows 10 x64
Comment 1 Halla Rempt 2022-07-19 18:11:48 UTC
I can confirm this in 5.0.6 and 5.1.0-beta2, but, interestingly, not with git master. That branch must have a fix somewhere that didn't get backported.
Comment 2 sh_zam 2022-07-20 06:21:48 UTC
The bug looks really familiar. Let me check this.
Comment 3 Halla Rempt 2022-07-20 07:44:08 UTC
I'm pretty sure you already fixed this somewhen in master :-)
Comment 4 Bug Janitor Service 2022-07-26 06:37:52 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1532
Comment 5 sh_zam 2022-07-26 07:42:00 UTC
Git commit ac4afecd320ff029e3dddfab7e1b0a941ef141e9 by Sharaf Zaman.
Committed on 26/07/2022 at 07:41.
Pushed by szaman into branch 'master'.

Fix Elliptic Arc to Bezier curve function in SVG

To get rid of undefined behavior.
Related: bug 439145

M  +106  -98   libs/flake/KoPathShapeLoader.cpp

https://invent.kde.org/graphics/krita/commit/ac4afecd320ff029e3dddfab7e1b0a941ef141e9
Comment 6 sh_zam 2022-07-28 15:58:25 UTC
Git commit 07108aaa0d1e473b0b8c78347c2934d57dc8f497 by Sharaf Zaman.
Committed on 28/07/2022 at 15:55.
Pushed by szaman into branch 'krita/5.1'.

Fix Elliptic Arc to Bezier curve function in SVG

To get rid of undefined behavior.
Related: bug 439145
(cherry picked from commit ac4afecd320ff029e3dddfab7e1b0a941ef141e9)

M  +106  -98   libs/flake/KoPathShapeLoader.cpp

https://invent.kde.org/graphics/krita/commit/07108aaa0d1e473b0b8c78347c2934d57dc8f497