From b17c9a22ff7c837058de7c8fcb4bb3fab1a4de7d Mon Sep 17 00:00:00 2001 From: elsid Date: Sun, 30 Jan 2022 14:04:12 +0100 Subject: [PATCH] Disallow to call ESMWriter::writeT with pointer type This will make ESMWriter to use a pointer to this pointer to access the data that is unlikely an intent. For example: 68ef96410cb6731131a82b6b0583ac30e6ffd9fc. --- components/esm3/esmwriter.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/components/esm3/esmwriter.hpp b/components/esm3/esmwriter.hpp index ed2ccbb377..3073daf15e 100644 --- a/components/esm3/esmwriter.hpp +++ b/components/esm3/esmwriter.hpp @@ -3,6 +3,7 @@ #include #include +#include #include "components/esm/esmcommon.hpp" #include "loadtes3.hpp" @@ -111,6 +112,7 @@ class ESMWriter template void writeT(const T& data) { + static_assert(!std::is_pointer_v); write((char*)&data, sizeof(T)); } @@ -123,6 +125,7 @@ class ESMWriter template void writeT(const T& data, size_t size) { + static_assert(!std::is_pointer_v); write((char*)&data, size); }