From 2f581ec56dd57efaa3ee2a2ce952190407e03060 Mon Sep 17 00:00:00 2001
From: Caitlin Ross <caitlin.ross@kitware.com>
Date: Fri, 20 Oct 2023 06:10:52 -0500
Subject: [PATCH] BP5Serializer: handle local variables that use operators
 (#3859)

Co-authored-by: Greg Eisenhauer <eisen@cc.gatech.edu>
---
 source/adios2/toolkit/format/bp5/BP5Serializer.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/source/adios2/toolkit/format/bp5/BP5Serializer.cpp b/source/adios2/toolkit/format/bp5/BP5Serializer.cpp
index 8b10c30b46..ca1bc356de 100644
--- a/source/adios2/toolkit/format/bp5/BP5Serializer.cpp
+++ b/source/adios2/toolkit/format/bp5/BP5Serializer.cpp
@@ -733,7 +733,8 @@ void BP5Serializer::Marshal(void *Variable, const char *Name, const DataType Typ
             for (size_t i = 0; i < DimCount; i++)
             {
                 tmpCount.push_back(Count[i]);
-                tmpOffsets.push_back(Offsets[i]);
+                if (Offsets)
+                    tmpOffsets.push_back(Offsets[i]);
             }
             size_t AllocSize = ElemCount * ElemSize + 100;
             BufferV::BufferPos pos = CurDataBuffer->Allocate(AllocSize, ElemSize);