static int afsconf_CloseInternal(register struct afsconf_dir *adir)
{
register struct afsconf_entry *td, *nd;
+ struct afsconf_aliasentry *ta, *na;
register char *tname;
tname = adir->name; /* remember name, since that's all we preserve */
free(td->cellInfo.linkedCell);
free(td);
}
+ for (ta = adir->alias_entries; ta; ta = na) {
+ na = ta->next;
+ free (ta);
+ }
if (adir->keystr) free(adir->keystr);
/* reinit */
}
stackptr -= stacksize;
#else
- if ((stackptr = (char *) malloc(stacksize)) == NULL) {
+ if ((stackptr = (char *) malloc(stacksize + 7)) == NULL) {
Set_LWP_RC();
return LWP_ENOMEM;
}
char deliveryType = 'S';
#endif
/* The address we're sending the packet to */
+ memset(&addr, 0, sizeof (addr));
addr.sin_family = AF_INET;
addr.sin_port = peer->port;
addr.sin_addr.s_addr = peer->host;
}
}
+ afsconf_Close(tdir);
+
if (secproc) /* tell UV module about default authentication */
(*secproc) (sc, scIndex);
if (info.numServers > VLDB_MAXSERVERS) {