Fix un-initialised "used" field in --listen-address structure.

Also remove unused "isloop" field.
This commit is contained in:
Simon Kelley
2012-06-14 11:50:45 +01:00
parent 8b3ae2fd43
commit 4ce4f3779b
3 changed files with 6 additions and 8 deletions

View File

@@ -425,7 +425,7 @@ struct listener {
struct iname {
char *name;
union mysockaddr addr;
int isloop, used;
int used;
struct iname *next;
};

View File

@@ -207,17 +207,14 @@ static int iface_allowed(struct irec **irecp, int if_index,
struct iname *lo;
for (lo = daemon->if_names; lo; lo = lo->next)
if (lo->name && strcmp(lo->name, ifr.ifr_name) == 0)
{
lo->isloop = 1;
break;
}
if (!lo &&
(lo = whine_malloc(sizeof(struct iname))) &&
(lo->name = whine_malloc(strlen(ifr.ifr_name)+1)))
{
strcpy(lo->name, ifr.ifr_name);
lo->isloop = lo->used = 1;
lo->used = 1;
lo->next = daemon->if_names;
daemon->if_names = lo;
}

View File

@@ -1570,7 +1570,7 @@ static char *one_opt(int option, char *arg, char *gen_prob, int command_line)
/* new->name may be NULL if someone does
"interface=" to disable all interfaces except loop. */
new->name = opt_string_alloc(arg);
new->isloop = new->used = 0;
new->used = 0;
arg = comma;
} while (arg);
break;
@@ -1641,6 +1641,7 @@ static char *one_opt(int option, char *arg, char *gen_prob, int command_line)
break;
}
new->used = 0;
daemon->if_addrs = new;
arg = comma;
} while (arg);