Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/nslcd/alias.c
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2006-12-27 10:48:43 +0100
committerArthur de Jong <arthur@arthurdejong.org>2006-12-27 10:48:43 +0100
commite5a71411f3cab38fd8222c6a51d4791c330d5de7 (patch)
tree5922378019a29af9335b14589b5205b7661166b3 /nslcd/alias.c
parent410b6fa99387e1fcfa786a571ac34f84547bfd1e (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.c6
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;