Skip to content

Commit 69b069a

Browse files
authored
Fix GetRelatedActivityID assert (#2163)
1 parent 08fd134 commit 69b069a

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/TraceEvent/TraceEvent.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -542,13 +542,16 @@ internal virtual string ProcessName(int processID, long timeQPC)
542542
internal virtual int LastChanceGetProcessID(TraceEvent data) { return -1; }
543543
internal virtual unsafe Guid GetRelatedActivityID(TraceEventNativeMethods.EVENT_RECORD* eventRecord)
544544
{
545-
var extendedData = eventRecord->ExtendedData;
546-
Debug.Assert((ulong)extendedData > 0x10000); // Make sure this looks like a pointer.
547-
for (int i = 0; i < eventRecord->ExtendedDataCount; i++)
545+
if (eventRecord->ExtendedDataCount != 0)
548546
{
549-
if (extendedData[i].ExtType == TraceEventNativeMethods.EVENT_HEADER_EXT_TYPE_RELATED_ACTIVITYID)
547+
var extendedData = eventRecord->ExtendedData;
548+
Debug.Assert((ulong)extendedData > 0x10000); // Make sure this looks like a pointer.
549+
for (int i = 0; i < eventRecord->ExtendedDataCount; i++)
550550
{
551-
return *((Guid*)extendedData[i].DataPtr);
551+
if (extendedData[i].ExtType == TraceEventNativeMethods.EVENT_HEADER_EXT_TYPE_RELATED_ACTIVITYID)
552+
{
553+
return *((Guid*)extendedData[i].DataPtr);
554+
}
552555
}
553556
}
554557

0 commit comments

Comments
 (0)