From ca7b59876aa40cb74187877843af658d6771d91c Mon Sep 17 00:00:00 2001 From: Jinny You Date: Wed, 27 Mar 2024 22:10:18 +0900 Subject: [PATCH] lottie: Fix crash from invalid masking method This change is better for stability. Returns `None` if the `mode` attribute cannot be parsed. related issue: #2072 --- src/loaders/lottie/tvgLottieParser.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/loaders/lottie/tvgLottieParser.cpp b/src/loaders/lottie/tvgLottieParser.cpp index c9bdda6c..6189a9b5 100644 --- a/src/loaders/lottie/tvgLottieParser.cpp +++ b/src/loaders/lottie/tvgLottieParser.cpp @@ -42,7 +42,10 @@ static char* _int2str(int num) CompositeMethod LottieParser::getMaskMethod(bool inversed) { - switch (getString()[0]) { + auto mode = getString(); + if (!mode) return CompositeMethod::None; + + switch (mode[0]) { case 'a': { if (inversed) return CompositeMethod::InvAlphaMask; else return CompositeMethod::AddMask;