third_party/fuchsia: Temporarily suppress ubsan sanitizer

Change-Id: I1ac3ce43480dc47a6e57eb7a4e049a2e699b0268
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/105048
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Vadim Spivak <vadims@google.com>
diff --git a/third_party/fuchsia/repo/sdk/lib/fit/include/lib/fit/function_internal.h b/third_party/fuchsia/repo/sdk/lib/fit/include/lib/fit/function_internal.h
index 9baca54..9950899 100644
--- a/third_party/fuchsia/repo/sdk/lib/fit/include/lib/fit/function_internal.h
+++ b/third_party/fuchsia/repo/sdk/lib/fit/include/lib/fit/function_internal.h
@@ -15,8 +15,8 @@
 #include <utility>
 
 #include "nullable.h"
-
 #include "pw_assert/assert.h"
+#include "pw_preprocessor/compiler.h"
 
 namespace fit {
 namespace internal {
@@ -281,7 +281,10 @@
   // Note that fit::callback will release the target immediately after
   // invoke() (also affecting any share()d copies).
   // Aborts if the function's target is empty.
-  Result invoke(Args... args) const { return ops_->invoke(&bits_, std::forward<Args>(args)...); }
+  // TODO(b/241567321): Remove "no sanitize" after pw_protobuf is fixed.
+  Result invoke(Args... args) const PW_NO_SANITIZE("function") {
+    return ops_->invoke(&bits_, std::forward<Args>(args)...);
+  }
 
   // Used by derived "impl" classes to implement operator=().
   // Assigns an empty target.