From a85caee119e84efe698faf0e3953bc4cb38cbef6 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Tue, 17 Sep 2013 22:39:29 +0000 Subject: [PATCH] [RSYM] * Pad the coff string space. Brought to you by Arty. svn path=/trunk/; revision=60191 --- reactos/tools/rsym/rsym.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/reactos/tools/rsym/rsym.c b/reactos/tools/rsym/rsym.c index 0022bf29db5..10a1b64e450 100644 --- a/reactos/tools/rsym/rsym.c +++ b/reactos/tools/rsym/rsym.c @@ -1163,6 +1163,8 @@ CreateOutputFile(FILE *OutFile, void *InData, if (OutFileHeader->PointerToSymbolTable) { + int PaddingFrom = (OutFileHeader->PointerToSymbolTable + StringTableLength) % + OutOptHeader->FileAlignment; fseek(OutFile, OutFileHeader->PointerToSymbolTable, 0); /* COFF string section is preceeded by a length */ @@ -1172,6 +1174,15 @@ CreateOutputFile(FILE *OutFile, void *InData, The string table length technically counts as part of the string table space itself. */ fwrite(StringTable + 4, 1, StringTableLength - 4, OutFile); + + if (PaddingFrom) + { + int PaddingSize = OutOptHeader->FileAlignment - PaddingFrom; + char *Padding = (char *)malloc(PaddingSize); + memset(Padding, 0, PaddingFrom); + fwrite(Padding, 1, PaddingSize, OutFile); + free(Padding); + } } if (PaddedRosSym)