From 6cc0b5e2156c8da56a01f17592fdd8ab7e9199b5 Mon Sep 17 00:00:00 2001 From: Alexey Nagaev Date: Wed, 4 Jun 2025 19:04:37 +0300 Subject: [PATCH] Fix bug with required length --- DocxRenderer/DocxRenderer.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/DocxRenderer/DocxRenderer.cpp b/DocxRenderer/DocxRenderer.cpp index 3bba0ef675..f9dd8eb0bb 100644 --- a/DocxRenderer/DocxRenderer.cpp +++ b/DocxRenderer/DocxRenderer.cpp @@ -249,8 +249,7 @@ HRESULT CDocxRenderer::AdvancedCommand(IAdvancedCommand* command) rId_record.EndRecord(); int buff_len = NSBase64::Base64DecodeGetRequiredLength(sUtf8Shape.size()); - int buff_len_new = buff_len + rId_record.GetSize(); - BYTE* buff = new BYTE[buff_len_new]; + BYTE* buff = new BYTE[buff_len + rId_record.GetSize()]; if (NSBase64::Base64Decode(sUtf8Shape.c_str(), (int)sUtf8Shape.size(), buff, &buff_len)) { @@ -266,7 +265,7 @@ HRESULT CDocxRenderer::AdvancedCommand(IAdvancedCommand* command) memcpy(buff + 1, &curr_len, sizeof(unsigned int)); } } - + int buff_len_new = buff_len + rId_record.GetSize(); int size_base64 = NSBase64::Base64EncodeGetRequiredLength(buff_len_new); char* data_base64 = new char[size_base64]; NSBase64::Base64Encode(buff, buff_len_new, (BYTE*)data_base64, &size_base64, NSBase64::B64_BASE64_FLAG_NOCRLF);