From acd253fcd7496346af77d69e8d1ff740201a3c0d Mon Sep 17 00:00:00 2001 From: Romain Thomas Date: Sun, 28 Apr 2024 16:12:21 +0200 Subject: [PATCH] Make sure `ContentInfo::value_` is not null. This addresses the segfault case in the issue #1049 --- src/PE/signature/ContentInfo.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/PE/signature/ContentInfo.cpp b/src/PE/signature/ContentInfo.cpp index d50cb57f22..22446d42ba 100644 --- a/src/PE/signature/ContentInfo.cpp +++ b/src/PE/signature/ContentInfo.cpp @@ -15,9 +15,9 @@ */ #include "LIEF/Visitor.hpp" #include "LIEF/PE/signature/ContentInfo.hpp" +#include "LIEF/PE/signature/GenericContent.hpp" #include "LIEF/PE/EnumToString.hpp" #include "LIEF/PE/signature/SpcIndirectData.hpp" -#include "LIEF/utils.hpp" #include "Object.tcc" #include "internal_utils.hpp" @@ -27,13 +27,17 @@ namespace LIEF { namespace PE { -ContentInfo::ContentInfo() = default; + ContentInfo::~ContentInfo() = default; ContentInfo::Content::~Content() = default; ContentInfo::ContentInfo(ContentInfo&& other) = default; +ContentInfo::ContentInfo() : + value_(std::make_unique()) +{} + ContentInfo::ContentInfo(const ContentInfo& other) : Object::Object(other), value_{other.value_->clone()}