summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2011-06-05 20:15:19 +0000
committerArthur de Jong <arthur@arthurdejong.org>2011-06-05 20:15:19 +0000
commita752fb12d375c9eb0581e72a97b276ea7ecc540e (patch)
tree29997b3d44f69124fce7cd6f05a4841fce1230ca
parent8d25c3f2a4bca981e23138c1b960b4da99e1d788 (diff)
mark more strings as const and don't free() data returned by cfg_getdomainname()
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1473 ef36b2f9-881f-0410-afb5-c4e39611909c
-rw-r--r--nslcd/cfg.c13
-rw-r--r--nslcd/common.c2
2 files changed, 7 insertions, 8 deletions
diff --git a/nslcd/cfg.c b/nslcd/cfg.c
index b9ec3cf..bc42627 100644
--- a/nslcd/cfg.c
+++ b/nslcd/cfg.c
@@ -170,9 +170,9 @@ static void add_uri(const char *filename,int lnr,
#ifdef HAVE_LDAP_DOMAIN2HOSTLIST
/* return the domain name of the current host
the returned string must be freed by caller */
-static char *cfg_getdomainname(const char *filename,int lnr)
+static const char *cfg_getdomainname(const char *filename,int lnr)
{
- char *fqdn,*domain;
+ const char *fqdn,*domain;
fqdn=getfqdn();
if ((fqdn!=NULL)&&((domain=strchr(fqdn,'.'))!=NULL)&&(domain[1]!='\0'))
return domain+1;
@@ -185,12 +185,12 @@ static char *cfg_getdomainname(const char *filename,int lnr)
static void add_uris_from_dns(const char *filename,int lnr,
struct ldap_config *cfg)
{
- int ret=0;
- char *domain;
+ int rc;
+ const char *domain;
char *hostlist=NULL,*nxt;
char buf[HOST_NAME_MAX+sizeof("ldap://")];
domain=cfg_getdomainname(filename,lnr);
- ret=ldap_domain2hostlist(domain,&hostlist);
+ rc=ldap_domain2hostlist(domain,&hostlist);
/* FIXME: have better error handling */
if ((hostlist==NULL)||(*hostlist=='\0'))
{
@@ -554,7 +554,7 @@ static void set_base(const char *filename,int lnr,
const char *value,const char **var)
{
#ifdef HAVE_LDAP_DOMAIN2DN
- char *domain = NULL;
+ const char *domain=NULL;
char *domaindn=NULL;
#endif /* HAVE_LDAP_DOMAIN2DN */
/* if the base is "DOMAIN" use the domain name */
@@ -563,7 +563,6 @@ static void set_base(const char *filename,int lnr,
#ifdef HAVE_LDAP_DOMAIN2DN
domain=cfg_getdomainname(filename,lnr);
ldap_domain2dn(domain,&domaindn);
- free(domain);
log_log(LOG_DEBUG,"set_base(): setting base to %s from domain",domaindn);
value=domaindn;
#else /* not HAVE_LDAP_DOMAIN2DN */
diff --git a/nslcd/common.c b/nslcd/common.c
index 921976c..cb94c2f 100644
--- a/nslcd/common.c
+++ b/nslcd/common.c
@@ -99,7 +99,7 @@ const char *getfqdn(void)
(host->h_aliases[i][hostnamelen]=='.')&&
(host->h_aliases[i][hostnamelen+1]!='\0'))
{
- fqdn=host->h_aliases[i];
+ fqdn=strdup(host->h_aliases[i]);
return fqdn;
}
}