From d78fc6dbee49b05e3efe1d33f464cd505c3d26a3 Mon Sep 17 00:00:00 2001 From: MTRNord Date: Mon, 23 Oct 2023 18:59:16 +0200 Subject: [PATCH] ensure we parse the hex --- src/tracer.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/tracer.ts b/src/tracer.ts index 9808a6dc..3f2a10e7 100644 --- a/src/tracer.ts +++ b/src/tracer.ts @@ -70,19 +70,22 @@ class SynapseTracePropargator implements TextMapPropagator { return context; } const trace_data = header.split(':'); - const traceId = trace_data[0]; - const spanId = trace_data[1]; - let parentId: string | null = trace_data[2]; - if (parentId === "0") { + let traceId = parseInt(trace_data[0], 16); + const spanId = parseInt(trace_data[1], 16); + let parentId: number | null = parseInt(trace_data[2], 16); + if (parentId === 0) { parentId = null; } - const traceFlags = Number(trace_data[3]); + const traceFlags = parseInt(trace_data[3], 16); + if (isNaN(traceId) || isNaN(spanId) || (parentId !== null && isNaN(parentId)) || isNaN(traceFlags)) { + return context; + } context = api.trace.setSpan( context, api.trace.wrapSpanContext({ - traceId, - spanId, + traceId: traceId.toString(16), + spanId: spanId.toString(16), isRemote: true, traceFlags, })