From e194176ec312e0eb6fac611f8e939c8f53a58456 Mon Sep 17 00:00:00 2001 From: kichik Date: Sat, 17 Feb 2007 10:49:50 +0000 Subject: [PATCH] align strings on 4 byte boundary and don't write NULL termination twice git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4931 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/ResourceEditor.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Source/ResourceEditor.cpp b/Source/ResourceEditor.cpp index ef136639..828b149d 100644 --- a/Source/ResourceEditor.cpp +++ b/Source/ResourceEditor.cpp @@ -666,13 +666,9 @@ void CResourceEditor::WriteRsrcSec(BYTE* pbRsrcSec) { WORD iLen = winchar_strlen(szName) + 1; *(WORD*)seeker = ConvertEndianness(iLen); - seeker += sizeof(WORD); - CopyMemory(seeker, szName, iLen*sizeof(WCHAR)); - seeker += iLen*sizeof(WCHAR); + CopyMemory(seeker + sizeof(WORD), szName, iLen*sizeof(WCHAR)); - // Even though the number of chars is predefined a null termination is required - *(WORD*)seeker = 0; - seeker += sizeof(WORD); + seeker += RALIGN(iLen * sizeof(WCHAR) + sizeof(WORD), 4); delete [] szName;