From c1ea5902f6e80dca1284dcc0a269b924fa5eb211 Mon Sep 17 00:00:00 2001 From: Misa Date: Tue, 9 Jan 2024 16:19:19 -0800 Subject: [PATCH] Initialize memory of bidi chain This fixes an error of reading uninitialized memory, as reported by Valgrind. Fixes #19. --- Source/SBParagraph.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/SBParagraph.c b/Source/SBParagraph.c index a98bd89..1ffa468 100644 --- a/Source/SBParagraph.c +++ b/Source/SBParagraph.c @@ -60,8 +60,12 @@ static ParagraphContextRef CreateParagraphContext(const SBBidiType *types, SBLev ParagraphContextRef context = (ParagraphContextRef)(memory + offsetContext); BidiLink *fixedLinks = (BidiLink *)(memory + offsetLinks); SBBidiType *fixedTypes = (SBBidiType *)(memory + offsetTypes); + SBUInteger i; BidiChainInitialize(&context->bidiChain, fixedTypes, levels, fixedLinks); + for (i = 0; i < length + 2; ++i) { + fixedTypes[i] = SBBidiTypeNil; + } StatusStackInitialize(&context->statusStack); RunQueueInitialize(&context->runQueue); IsolatingRunInitialize(&context->isolatingRun);