diff --git a/src/core/lib/slice/slice_utils.h b/src/core/lib/slice/slice_utils.h
index 161300abe1e43bf78d6a640551b6727bf405ec96..e80de6d2ece47548faa825fa3bb4a3b284ad78cd 100644
--- a/src/core/lib/slice/slice_utils.h
+++ b/src/core/lib/slice/slice_utils.h
@@ -108,7 +108,7 @@ struct ManagedMemorySlice : public grpc_slice {
     return !grpc_slice_differs_refcounted(other, *this);
   }
   bool Equals(const char* buf, const size_t len) const {
-    return data.refcounted.length == len &&
+    return data.refcounted.length == len && buf != nullptr &&
            memcmp(buf, data.refcounted.bytes, len) == 0;
   }
 };