From faa9e7549f2f2ba9025db1bb0f745ee028792f56 Mon Sep 17 00:00:00 2001 From: gtsoul-tech Date: Wed, 29 May 2024 11:51:06 +0300 Subject: [PATCH] uninitialized.UndefReturn --- src/util/ue2_graph.h | 3 +++ src/util/unaligned.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/util/ue2_graph.h b/src/util/ue2_graph.h index 52910520..9d9f22d1 100644 --- a/src/util/ue2_graph.h +++ b/src/util/ue2_graph.h @@ -796,6 +796,9 @@ public: explicit prop_map(value_type P_of::*m_in) : member(m_in) { } reference operator[](key_type k) const { + if (k.raw() == nullptr || &(k.raw()->props) == nullptr) { + throw std::invalid_argument("Invalid key"); + } return k.raw()->props.*member; } reference operator()(key_type k) const { return (*this)[k]; } diff --git a/src/util/unaligned.h b/src/util/unaligned.h index 3f662de1..e4c77900 100644 --- a/src/util/unaligned.h +++ b/src/util/unaligned.h @@ -58,6 +58,9 @@ u32 unaligned_load_u32(const void *ptr) { /// Perform an unaligned 64-bit load static really_inline u64a unaligned_load_u64a(const void *ptr) { + if (ptr == NULL) { + return 0; // Return a default value + } struct unaligned { u64a u; } PACKED__MAY_ALIAS; // cppcheck-suppress cstyleCast const struct unaligned *uptr = (const struct unaligned *)ptr;