r22089: check the return value of interpret_addr2()
authorAndrew Tridgell <tridge@samba.org>
Thu, 5 Apr 2007 07:36:46 +0000 (07:36 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:49:50 +0000 (14:49 -0500)
(This used to be commit af6661e442ff37070cf49b6d9ab85a1c045ef293)

source4/lib/socket/socket_ipv4.c

index 815db48b90d32fc7f24468af689cad0fdb0bfc7a..362224ebbb1c1c3bbe54f19283552367b086a576 100644 (file)
@@ -361,6 +361,9 @@ static NTSTATUS ipv4_sendto(struct socket_context *sock,
                srv_addr.sin_len         = sizeof(srv_addr);
 #endif
                addr                     = interpret_addr2(dest_addr->addr);
+               if (addr.addr == 0) {
+                       return NT_STATUS_HOST_UNREACHABLE;
+               }
                srv_addr.sin_addr.s_addr = addr.addr;
                srv_addr.sin_port        = htons(dest_addr->port);
                srv_addr.sin_family      = PF_INET;