From: Hermès Bélusca-Maïto Date: Sun, 2 Feb 2014 16:59:03 +0000 (+0000) Subject: [CMLIB] X-Git-Tag: ReactOS-0.3.16-CLT2014~364 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=8dddaf53b26787fd301aa039fc6906935e387a1e [CMLIB] Use a #define instead of the magic 31. svn path=/trunk/; revision=61923 --- diff --git a/reactos/lib/cmlib/hivedata.h b/reactos/lib/cmlib/hivedata.h index d2838fd3442..b1e9a4c4d23 100644 --- a/reactos/lib/cmlib/hivedata.h +++ b/reactos/lib/cmlib/hivedata.h @@ -107,6 +107,8 @@ typedef enum * On-disk header for registry hive file. */ +#define HIVE_FILENAME_MAXLEN 31 + typedef struct _HBASE_BLOCK { /* Hive identifier "regf" (0x66676572) */ @@ -146,7 +148,7 @@ typedef struct _HBASE_BLOCK /* Last 31 UNICODE characters, plus terminating NULL character, of the full name of the hive file */ - WCHAR FileName[32]; + WCHAR FileName[HIVE_FILENAME_MAXLEN + 1]; ULONG Reserved1[99]; diff --git a/reactos/lib/cmlib/hiveinit.c b/reactos/lib/cmlib/hiveinit.c index 1bf7a7582ae..2a5dd6a5092 100644 --- a/reactos/lib/cmlib/hiveinit.c +++ b/reactos/lib/cmlib/hiveinit.c @@ -118,7 +118,7 @@ HvpCreateHive( /* Copy the 31 last characters of the hive file name if any */ if (FileName) { - if (FileName->Length / sizeof(WCHAR) <= 31) + if (FileName->Length / sizeof(WCHAR) <= HIVE_FILENAME_MAXLEN) { RtlCopyMemory(BaseBlock->FileName, FileName->Buffer, @@ -127,12 +127,13 @@ HvpCreateHive( else { RtlCopyMemory(BaseBlock->FileName, - FileName->Buffer + FileName->Length / sizeof(WCHAR) - 31, - 31 * sizeof(WCHAR)); + FileName->Buffer + + FileName->Length / sizeof(WCHAR) - HIVE_FILENAME_MAXLEN, + HIVE_FILENAME_MAXLEN * sizeof(WCHAR)); } /* NULL-terminate */ - BaseBlock->FileName[31] = L'\0'; + BaseBlock->FileName[HIVE_FILENAME_MAXLEN] = L'\0'; } BaseBlock->CheckSum = HvpHiveHeaderChecksum(BaseBlock);