Skip to content

[Bug]: Possible panic: nil pointer dereference #5981

@ldlb9527

Description

@ldlb9527

What happened?

The following code will cause a null pointer exception on the first iteration of the loop if span.TraceID has a zero value.

Steps to reproduce

https://github.com/jaegertracing/jaeger/blob/main/plugin/storage/grpc/shared/grpc_client.go#L193-L209

	var traces []*model.Trace
	var trace *model.Trace
	var traceID model.TraceID
	for received, err := stream.Recv(); !errors.Is(err, io.EOF); received, err = stream.Recv() {
		if err != nil {
			return nil, fmt.Errorf("stream error: %w", err)
		}

		for i, span := range received.Spans {
			if span.TraceID != traceID {
				trace = &model.Trace{}
				traceID = span.TraceID
				traces = append(traces, trace)
			}
			trace.Spans = append(trace.Spans, &received.Spans[i])
		}
	}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions