summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rw-r--r--source3/nmbd/nmbd_become_dmb.c10
-rw-r--r--source3/nmbd/nmbd_subnetdb.c8
2 files changed, 16 insertions, 2 deletions
diff --git a/source3/nmbd/nmbd_become_dmb.c b/source3/nmbd/nmbd_become_dmb.c
index fb1fb33a81..523ec6cabf 100644
--- a/source3/nmbd/nmbd_become_dmb.c
+++ b/source3/nmbd/nmbd_become_dmb.c
@@ -120,6 +120,7 @@ in workgroup %s on subnet %s\n",
if( subrec == unicast_subnet ) {
struct nmb_name nmbname;
struct in_addr my_first_ip;
+ struct in_addr *nip;
/* Put our name and first IP address into the
workgroup struct as domain master browser. This
@@ -130,7 +131,14 @@ in workgroup %s on subnet %s\n",
work->dmb_name = nmbname;
/* Pick the first interface ip address as the domain master browser ip. */
- my_first_ip = *iface_n_ip(0);
+ nip = iface_n_ip(0);
+
+ if (!nip) {
+ DEBUG(0,("become_domain_master_stage2: Error. iface_n_ip returned NULL\n"));
+ return;
+ }
+
+ my_first_ip = *nip;
putip((char *)&work->dmb_addr, &my_first_ip);
diff --git a/source3/nmbd/nmbd_subnetdb.c b/source3/nmbd/nmbd_subnetdb.c
index c3640028d2..5a93d8bec0 100644
--- a/source3/nmbd/nmbd_subnetdb.c
+++ b/source3/nmbd/nmbd_subnetdb.c
@@ -220,7 +220,13 @@ BOOL create_subnets(void)
if (lp_we_are_a_wins_server()) {
/* Pick the first interface ip address as the WINS server ip. */
- unicast_ip = *iface_n_ip(0);
+ struct in_addr *nip = iface_n_ip(0);
+
+ if (!nip) {
+ return False;
+ }
+
+ unicast_ip = *nip;
} else {
/* note that we do not set the wins server IP here. We just
set it at zero and let the wins registration code cope