fix: potential slice append issue (#2560)

This commit is contained in:
Kevin Wan
2022-10-28 08:14:03 +08:00
committed by GitHub
parent 07128213d6
commit 7eb6aae949
2 changed files with 21 additions and 1 deletions

View File

@@ -31,7 +31,10 @@ func AddGlobalFields(fields ...LogField) {
func ContextWithFields(ctx context.Context, fields ...LogField) context.Context {
if val := ctx.Value(fieldsContextKey); val != nil {
if arr, ok := val.([]LogField); ok {
return context.WithValue(ctx, fieldsContextKey, append(arr, fields...))
allFields := make([]LogField, 0, len(arr)+len(fields))
allFields = append(allFields, arr...)
allFields = append(allFields, fields...)
return context.WithValue(ctx, fieldsContextKey, allFields)
}
}