summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvenaas <venaas>2008-06-04 07:11:51 +0000
committervenaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf>2008-06-04 07:11:51 +0000
commit3f6b6b2b4e0441d2c58bf285478cdee78bea4f05 (patch)
treee44ecafc38b67f93f7c339ebd1fb16615b72d5b7
parent74c3bbbc0ba0967b85704cf9d6d1850c053193ca (diff)
fixed segfault in findserver() when no server configured, and tried to remove a warning
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@279 e88ac4ed-0b26-0410-9574-a7f39faa03bf
-rw-r--r--radsecproxy.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/radsecproxy.c b/radsecproxy.c
index b6a278d..734165a 100644
--- a/radsecproxy.c
+++ b/radsecproxy.c
@@ -1879,6 +1879,8 @@ struct server *findserver(struct realm **realm, char *id, uint8_t acc) {
return NULL;
debug(DBG_DBG, "found matching realm: %s", (*realm)->name);
srvconf = choosesrvconf(acc ? (*realm)->accsrvconfs : (*realm)->srvconfs);
+ if (!srvconf)
+ return NULL;
if (!acc && !srvconf->servers)
adddynamicrealmserver(*realm, srvconf, id);
return srvconf->servers;
@@ -2886,7 +2888,7 @@ void adddynamicrealmserver(struct realm *realm, struct clsrvconf *conf, char *id
if (!*realmname)
return;
for (s = realmname; *s; s++)
- if (*s != '.' && *s != '-' && !isalnum(*s))
+ if (*s != '.' && *s != '-' && !isalnum((int)*s))
return;
pthread_mutex_lock(&realm->subrealms_mutex);