Explorar o código

Fix Dial function crash instance when there is no instance context in the ctx

Shelikhoo %!s(int64=4) %!d(string=hai) anos
pai
achega
fc73774e4a
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      functions.go

+ 5 - 0
functions.go

@@ -51,6 +51,11 @@ func Dial(ctx context.Context, v *Instance, dest net.Destination) (net.Conn, err
 	if dispatcher == nil {
 		return nil, newError("routing.Dispatcher is not registered in V2Ray core")
 	}
+
+	if ctx.Value(v2rayKey) == nil {
+		ctx = context.WithValue(ctx, v2rayKey, v)
+	}
+
 	r, err := dispatcher.(routing.Dispatcher).Dispatch(ctx, dest)
 	if err != nil {
 		return nil, err