Close DatagramSocket using try-with-resources

Florian Schmaus created

Change summary

src/main/java/de/measite/minidns/Client.java | 23 +++++++++++----------
1 file changed, 12 insertions(+), 11 deletions(-)

Detailed changes

src/main/java/de/measite/minidns/Client.java 🔗

@@ -131,18 +131,19 @@ public class Client {
         message.setRecursionDesired(true);
         message.setId(random.nextInt());
         byte[] buf = message.toArray();
-        DatagramSocket socket = new DatagramSocket();
-        DatagramPacket packet = new DatagramPacket(
-                buf, buf.length, InetAddress.getByName(host), port);
-        socket.setSoTimeout(timeout);
-        socket.send(packet);
-        packet = new DatagramPacket(new byte[bufferSize], bufferSize);
-        socket.receive(packet);
-        DNSMessage dnsMessage = DNSMessage.parse(packet.getData());
-        if (dnsMessage.getId() != message.getId()) {
-            return null;
+        try (DatagramSocket socket = new DatagramSocket()) {
+            DatagramPacket packet = new DatagramPacket(buf, buf.length,
+                    InetAddress.getByName(host), port);
+            socket.setSoTimeout(timeout);
+            socket.send(packet);
+            packet = new DatagramPacket(new byte[bufferSize], bufferSize);
+            socket.receive(packet);
+            DNSMessage dnsMessage = DNSMessage.parse(packet.getData());
+            if (dnsMessage.getId() != message.getId()) {
+                return null;
+            }
+            return dnsMessage;
         }
-        return dnsMessage;
     }
 
     /**