Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/nslcd/host.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/host.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/host.c')
-rw-r--r--nslcd/host.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/nslcd/host.c b/nslcd/host.c
index ec04bf2..60dda78 100644
--- a/nslcd/host.c
+++ b/nslcd/host.c
@@ -247,14 +247,14 @@ _nss_ldap_parse_hostv6 (LDAPMessage * e,
int nslcd_host_byname(FILE *fp)
{
int32_t tmpint32;
- char *name;
+ char name[256];
struct ldap_args a;
int retv;
struct hostent result;
char buffer[1024];
int errnop;
/* read request parameters */
- READ_STRING_ALLOC(fp,name);
+ READ_STRING_BUF2(fp,name,sizeof(name));
/* log call */
log_log(LOG_DEBUG,"nslcd_host_byname(%s)",name);
/* write the response header */
@@ -270,8 +270,6 @@ int nslcd_host_byname(FILE *fp)
#else
_nss_ldap_parse_hostv4));
#endif
- /* no more need for this string */
- free(name);
/* write the response */
WRITE_INT32(fp,retv);
if (retv==NSLCD_RESULT_SUCCESS)