diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2006-12-27 10:48:43 +0100 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2006-12-27 10:48:43 +0100 |
commit | e5a71411f3cab38fd8222c6a51d4791c330d5de7 (patch) | |
tree | 5922378019a29af9335b14589b5205b7661166b3 /nslcd/alias.c | |
parent | 410b6fa99387e1fcfa786a571ac34f84547bfd1e (diff) |
do not allocate new memory with malloc() for each request with a string parameter but use a buffer allocated on the stack instead (this simplifies free()-ing the buffer(s) in case of problems)
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-ldapd@204 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'nslcd/alias.c')
-rw-r--r-- | nslcd/alias.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/nslcd/alias.c b/nslcd/alias.c index 4698f1b..2bc0936 100644 --- a/nslcd/alias.c +++ b/nslcd/alias.c @@ -80,10 +80,10 @@ static int write_alias(LDAPMessage *e,struct ldap_state *pvt,FILE *fp) int nslcd_alias_byname(FILE *fp) { int32_t tmpint32; - char *name; + char name[256]; struct ldap_args a; /* read request parameters */ - READ_STRING_ALLOC(fp,name); + READ_STRING_BUF2(fp,name,sizeof(name)); /* log call */ log_log(LOG_DEBUG,"nslcd_alias_byname(%s)",name); /* write the response header */ @@ -94,8 +94,6 @@ int nslcd_alias_byname(FILE *fp) LA_STRING(a)=name; LA_TYPE(a)=LA_TYPE_STRING; _nss_ldap_searchbyname(&a,_nss_ldap_filt_getaliasbyname,LM_ALIASES,fp,write_alias); - /* no more need for this */ - free(name); WRITE_FLUSH(fp); /* we're done */ return 0; |