|
47 | 47 | import java.net.Inet4Address;
|
48 | 48 | import java.net.InetAddress;
|
49 | 49 | import java.net.UnknownHostException;
|
| 50 | +import java.nio.charset.StandardCharsets; |
50 | 51 | import java.util.ArrayList;
|
51 | 52 | import java.util.HashMap;
|
52 | 53 | import java.util.LinkedList;
|
|
59 | 60 | import com.oracle.graal.python.builtins.PythonBuiltinClassType;
|
60 | 61 | import com.oracle.graal.python.builtins.PythonBuiltins;
|
61 | 62 | import com.oracle.graal.python.builtins.objects.PNone;
|
62 |
| -import com.oracle.graal.python.builtins.objects.exception.OSErrorEnum; |
63 | 63 | import com.oracle.graal.python.builtins.objects.ints.PInt;
|
64 | 64 | import com.oracle.graal.python.builtins.objects.list.PList;
|
65 | 65 | import com.oracle.graal.python.builtins.objects.socket.PSocket;
|
|
76 | 76 | import com.oracle.truffle.api.dsl.GenerateNodeFactory;
|
77 | 77 | import com.oracle.truffle.api.dsl.NodeFactory;
|
78 | 78 | import com.oracle.truffle.api.dsl.Specialization;
|
79 |
| -import com.oracle.truffle.api.frame.VirtualFrame; |
80 | 79 |
|
81 | 80 | import org.graalvm.nativeimage.ImageInfo;
|
82 | 81 |
|
@@ -558,6 +557,10 @@ Object getAddrInfo(String host, int port, int family, int type, int proto, int f
|
558 | 557 | @Specialization
|
559 | 558 | @TruffleBoundary
|
560 | 559 | Object getAddrInfo(String host, String port, int family, int type, int proto, int flags) {
|
| 560 | + if (!StandardCharsets.US_ASCII.newEncoder().canEncode(port)) { |
| 561 | + throw raise(PythonBuiltinClassType.UnicodeEncodeError); |
| 562 | + } |
| 563 | + |
561 | 564 | if (services == null) {
|
562 | 565 | services = parseServices();
|
563 | 566 | }
|
|
0 commit comments