From 9f283bee7ecfedabc7a6b46fb9f2cece6b3e31ec Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 11 Jan 2023 13:03:48 +1100 Subject: [PATCH] BLI_string_ref: avoid passing null to strncmp (quiet ASAN warning) The existing logic to avoid passing null only worked when both strings were null. --- source/blender/blenlib/BLI_string_ref.hh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/blender/blenlib/BLI_string_ref.hh b/source/blender/blenlib/BLI_string_ref.hh index 14dee54d730..6ad4d6fd3af 100644 --- a/source/blender/blenlib/BLI_string_ref.hh +++ b/source/blender/blenlib/BLI_string_ref.hh @@ -608,9 +608,14 @@ constexpr bool operator==(StringRef a, StringRef b) return false; } if (a.data() == b.data()) { - /* This also avoids passing null to the call below, which would results in an ASAN warning. */ + /* This also avoids passing null to the call below when both are null, + * which would results in an ASAN warning. */ return true; } + if (!a.data() || !b.data()) { + /* Account for a single value being null, resulting in an ASAN warning. */ + return false; + } return STREQLEN(a.data(), b.data(), size_t(a.size())); }