From 08b6c96ea8a7a4c16c3674bd8edcdc0e509568b1 Mon Sep 17 00:00:00 2001 From: mkoch Date: Thu, 26 Feb 2004 17:17:19 +0000 Subject: [PATCH] 2004-02-26 Michael Koch * gnu/java/nio/DatagramChannelImpl.java (send): Check if target address is resolved. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78508 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/ChangeLog | 5 +++++ libjava/gnu/java/nio/DatagramChannelImpl.java | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 6042fb96d39..faa9f8d9664 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,10 @@ 2004-02-26 Michael Koch + * gnu/java/nio/DatagramChannelImpl.java + (send): Check if target address is resolved. + +2004-02-26 Michael Koch + * Makefile.am: Generate and install headers for inner classes in java.nio.channels.Pipe and gnu.java.nio.PipeImpl. * Makefile.in: Regenerated. diff --git a/libjava/gnu/java/nio/DatagramChannelImpl.java b/libjava/gnu/java/nio/DatagramChannelImpl.java index baeac19deb6..68535e62769 100644 --- a/libjava/gnu/java/nio/DatagramChannelImpl.java +++ b/libjava/gnu/java/nio/DatagramChannelImpl.java @@ -1,5 +1,5 @@ /* DatagramChannelImpl.java -- - Copyright (C) 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,10 +38,11 @@ exception statement from your version. */ package gnu.java.nio; +import gnu.java.net.PlainDatagramSocketImpl; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; -import gnu.java.net.PlainDatagramSocketImpl; +import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.SocketTimeoutException; import java.nio.ByteBuffer; @@ -256,6 +257,10 @@ public final class DatagramChannelImpl extends DatagramChannel if (!isOpen()) throw new ClosedChannelException(); + if (target instanceof InetSocketAddress + && ((InetSocketAddress) target).isUnresolved()) + throw new IOException("Target address not resolved"); + byte[] buffer; int offset = 0; int len = src.remaining(); -- 2.11.0