psd-tools to pakiet Python do pracy z plikami Adobe Photoshop PSD. Przed wersją 1.12.2, gdy plik PSD zawiera zniekształcone dane obrazu skompresowane RLE (np. run literalny wykraczający poza oczekiwany rozmiar wiersza), funkcja decode_rle() zgłaszała ValueError, który propagował się do użytkownika, powodując crash psd.composite() i eksportu psd-tools. Funkcja decompress() posiadała fallback zastępujący nieudane kanały czarnymi pikselami, gdy wynik to None, ale nigdy się nie uruchamiał, ponieważ ValueError z decode_rle() nie był przechwytywany. Poprawka w wersji 1.12.2 opakowuje wywołanie decode_rle() w try/except, aby istniejący fallback obsługiwał błąd elegancko.
▸ Pokaż oryginał (EN)
psd-tools is a Python package for working with Adobe Photoshop PSD files. Prior to version 1.12.2, when a PSD file contains malformed RLE-compressed image data (e.g. a literal run that extends past the expected row size), decode_rle() raises ValueError which propagated all the way to the user, crashing psd.composite() and psd-tools export. decompress() already had a fallback that replaces failed channels with black pixels when result is None, but it never triggered because the ValueError from decode_rle() was not caught. The fix in version 1.12.2 wraps the decode_rle() call in a try/except so the existing fallback handles the error gracefully.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XPsd Tools Project Psd Tools
APPPsd-Tools Project< 1.12.2