s3-spoolss: make some of the command hooks static.
[kai/samba.git] / source3 / nmbd / nmbd_namelistdb.c
index ae5f766e66954eaa91daf0ee5810495d6c0ef005..6570fd4ec763c5a0f3a1335649cc62a02d235910 100644 (file)
@@ -192,6 +192,10 @@ bool add_name_to_subnet( struct subnet_record *subrec,
        struct name_record *namerec;
        time_t time_now = time(NULL);
 
+       if (num_ips == 0) {
+               return false;
+       }
+
        namerec = SMB_MALLOC_P(struct name_record);
        if( NULL == namerec ) {
                DEBUG( 0, ( "add_name_to_subnet: malloc fail.\n" ) );
@@ -293,7 +297,6 @@ void standard_success_register(struct subnet_record *subrec,
  ******************************************************************/
 
 void standard_fail_register( struct subnet_record   *subrec,
-                             struct response_record *rrec,
                              struct nmb_name        *nmbname )
 {
        struct name_record *namerec;
@@ -504,8 +507,12 @@ void add_samba_names_to_subnet( struct subnet_record *subrec )
                        return;
                }
 
-               for( bcast_subrecs = FIRST_SUBNET, i = 0; bcast_subrecs; bcast_subrecs = NEXT_SUBNET_EXCLUDING_UNICAST(bcast_subrecs), i++ )
+               for( bcast_subrecs = FIRST_SUBNET, i = 0; bcast_subrecs &&
+                               i < num_ips;
+                               bcast_subrecs = NEXT_SUBNET_EXCLUDING_UNICAST(bcast_subrecs), i++ ) {
                        iplist[i] = bcast_subrecs->myip;
+               }
+               num_ips = i;
        }
 
        add_name_to_subnet(subrec,"*",0x0,samba_nb_type, PERMANENT_TTL,