From 470b885e65e263c811708824942973d374b52893 Mon Sep 17 00:00:00 2001 From: mgrudzinska Date: Sun, 3 Apr 2022 22:32:26 +0200 Subject: [PATCH] svg_loader: fixing segf when passing a nullptr to strcmp This occurred when a gradient has no 'id' attribute. --- src/loaders/svg/tvgSvgLoader.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/loaders/svg/tvgSvgLoader.cpp b/src/loaders/svg/tvgSvgLoader.cpp index 24f5647c..e4723517 100644 --- a/src/loaders/svg/tvgSvgLoader.cpp +++ b/src/loaders/svg/tvgSvgLoader.cpp @@ -2874,7 +2874,7 @@ static SvgStyleGradient* _gradientDup(Array* gradients, const auto gradList = gradients->data; for (uint32_t i = 0; i < gradients->count; ++i) { - if (!strcmp((*gradList)->id, id)) { + if ((*gradList)->id && !strcmp((*gradList)->id, id)) { result = _cloneGradient(*gradList); break; } @@ -2884,7 +2884,7 @@ static SvgStyleGradient* _gradientDup(Array* gradients, const if (result && result->ref) { gradList = gradients->data; for (uint32_t i = 0; i < gradients->count; ++i) { - if (!strcmp((*gradList)->id, result->ref)) { + if ((*gradList)->id && !strcmp((*gradList)->id, result->ref)) { if (result->stops.count == 0) _cloneGradStops(result->stops, (*gradList)->stops); //TODO: Properly inherit other property break;