https://bugs.kde.org/show_bug.cgi?id=434273

            Bug ID: 434273
           Summary: Crash when importing an invalid .icc or .icm file
           Product: krita
           Version: nightly build (please specify the git hash!)
          Platform: Debian stable
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: Resource Management
          Assignee: krita-bugs-n...@kde.org
          Reporter: ahab.greybe...@hotmail.co.uk
  Target Milestone: ---

Created attachment 136579
  --> https://bugs.kde.org/attachment.cgi?id=136579&action=edit
A 'fake' .icc file to crash krita

SUMMARY
This happens with appimages from 4.3.0 to the Mar10 4.4.4 alpha (git c7f093c)
and the Mar10 5.0.0 prealpha (git 2bd49f3).

An invalid .icc file, 'kritacrash.icc', is attached, which is actually a text
file.
The same behaviour is observed if you deliberately corrupt a genuine .icc or
.icm file with random text insertions.

Despite the crash, the invalid file is imported. 
On restart it is detected as invalid and is not included in colour profile
lists.
A further attempt to import it has no effect.

I suspect that this crash is not likely to be encountered often.

STEPS TO REPRODUCE
1. via Image -> Convert Image Colour Space -> Colour Browser, import the
kritacrash.icc file.
2. Restart after the crash.
3. Repeat Step 1.

OBSERVED RESULT
1. Crash with terminal output at the end:

kf5.kwidgetsaddons: Invalid pixmap specified.
[Note: The output line above happens as soon as the colour browser is opened.]
Lcms2 error:  11 not an ICC profile, invalid signature
Lcms2 error:  11 not an ICC profile, invalid signature
Failed to load profile from 
"/home/adminahab/.local/share/krita/profiles/kritacrash.icc"
Lcms2 error:  11 not an ICC profile, invalid signature
Segmentation fault

The kritacrash.icc file is in the krita resources 'profiles' subfolder.

2. Terminal output at the start:

Lcms2 error:  11 not an ICC profile, invalid signature
Lcms2 error:  11 not an ICC profile, invalid signature
Failed to load profile from 
"/home/adminahab/.local/share/krita/profiles/kritacrash.icc"
Invalid profile :  "/home/adminahab/.local/share/krita/profiles/kritacrash.icc"
""

3. No visible effect.

Terminal output at the end:

kf5.kwidgetsaddons: Invalid pixmap specified.
[Note: The above output happens as soon as the colour browser is opened.]


EXPECTED RESULT
1. No crash: The invalid file should be detected as invalid and not imported.
A warning/advisory message should be displayed.

SOFTWARE/OS VERSIONS
Krita

 Version: 4.4.4-alpha (git c7f093c)
 Languages: en_GB, en, en, en_GB, en
 Hidpi: false

Qt

  Version (compiled): 5.12.9
  Version (loaded): 5.12.9

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.19.0-14-amd64
  Pretty Productname: Debian GNU/Linux 10 (buster)
  Product Type: debian
  Product Version: 10
  Desktop: MATE

OpenGL Info

  Vendor:  "NVIDIA Corporation" 
  Renderer:  "GeForce GTX 750 Ti/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 460.39" 
  Shading language:  "4.60 NVIDIA" 
  Requested format:  QSurfaceFormat(version 3.0, options
QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24,
redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8,
stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer,
swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile 
QSurfaceFormat::CompatibilityProfile) 
  Current format:    QSurfaceFormat(version 4.6, options
QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24,
redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8,
stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer,
swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile 
QSurfaceFormat::CompatibilityProfile) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to