Index: libsmb/libsmbclient.c =================================================================== --- libsmb/libsmbclient.c (revision 5786) +++ libsmb/libsmbclient.c (working copy) @@ -1960,7 +1960,7 @@ } for (i = 0; i < count && i < max_lmb_count; i++) { - DEBUG(99, ("Found master browser %s\n", inet_ntoa(ip_list[i].ip))); + DEBUG(99, ("Found master browser %d of %d: %s\n", i+1, MAX(count, max_lmb_count), inet_ntoa(ip_list[i].ip))); cli = get_ipc_connect_master_ip(&ip_list[i], workgroup, &u_info); /* cli == NULL is the master browser refused to talk or @@ -1983,12 +1983,7 @@ srv = smbc_server(context, server, "IPC$", workgroup, user, password); if (!srv) { - - if (dir) { - SAFE_FREE(dir->fname); - SAFE_FREE(dir); - } - return NULL; + continue; } dir->srv = srv; @@ -1999,13 +1994,7 @@ if (!cli_NetServerEnum(&srv->cli, workgroup, SV_TYPE_DOMAIN_ENUM, list_unique_wg_fn, (void *)dir)) { - if (dir) { - SAFE_FREE(dir->fname); - SAFE_FREE(dir); - } - - return NULL; - + continue; } } } else {