Created attachment 14609 [details] patch to fix the issue fast_rgb_to_cmyk does this if ((copy_spots || ss != ds) || (!da && sa)) it should probably do this instead if ((copy_spots && ss != ds) || (!da && sa))
It's a bit strange to have this bug report here with a patch but without any report... In any case, I've got a bug report over at the fedora bz: https://bugzilla.redhat.com/show_bug.cgi?id=1553915 It comes with a PDF that makes mupdf segfault with mupdf: source/fitz/colorspace.c:1399: fast_rgb_to_cmyk: Assertion `"This should never happen" == NULL' failed. which is why I quote it here. This is with mupdf-1.12.0-5.fc27.x86_64 which is 1.12.0 plus several patches for CVEs.
commit a101366eeb06d375b32d96f305bce5bc131f7b03 Author: Tor Andersson <tor.andersson@artifex.com> Date: Tue Oct 16 15:43:17 2018 +0200 Fix asserts and checks in fast_xxx_to_yyy functions. fast_rgb_to_cmyk had || instead of && so always triggered incorrectly. Only throw, no need to both assert and throw.