From 3627ee1eaf348715f8ba0d6baaa6e0ece4a65cd9 Mon Sep 17 00:00:00 2001 From: Dan Dees Date: Tue, 28 Jul 2026 07:12:27 +0800 Subject: [PATCH] Changed: Express ODS member sizes without null-pointer casts Use qualified member names in sizeof expressions. The operands remain unevaluated and the page-capacity calculations retain the same array sizes. --- src/jrd/ods.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/jrd/ods.cpp b/src/jrd/ods.cpp index 5a4f2d605c4..6ed895db0c2 100644 --- a/src/jrd/ods.cpp +++ b/src/jrd/ods.cpp @@ -70,7 +70,8 @@ ULONG pagesPerSCN(ULONG page_size) noexcept ULONG maxPagesPerSCN(ULONG page_size) noexcept { - return static_cast((page_size - offsetof(scns_page, scn_pages[0])) / sizeof(((scns_page*)NULL)->scn_pages)); + return static_cast((page_size - offsetof(scns_page, scn_pages[0])) / + sizeof(scns_page::scn_pages)); } ULONG transPerTIP(ULONG page_size) noexcept @@ -81,7 +82,7 @@ ULONG transPerTIP(ULONG page_size) noexcept ULONG gensPerPage(ULONG page_size) noexcept { return static_cast((page_size - offsetof(generator_page, gpg_values[0])) / - sizeof(((generator_page*) NULL)->gpg_values)); + sizeof(generator_page::gpg_values)); } ULONG dataPagesPerPP(ULONG page_size) noexcept