From e5a71411f3cab38fd8222c6a51d4791c330d5de7 Mon Sep 17 00:00:00 2001 From: Arthur de Jong Date: Wed, 27 Dec 2006 09:48:43 +0000 Subject: 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 --- nslcd/protocol.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'nslcd/protocol.c') diff --git a/nslcd/protocol.c b/nslcd/protocol.c index 71ce52d..857f7cd 100644 --- a/nslcd/protocol.c +++ b/nslcd/protocol.c @@ -96,7 +96,7 @@ static enum nss_status _nss_ldap_parse_proto (LDAPMessage *e, int nslcd_protocol_byname(FILE *fp) { int32_t tmpint32,tmp2int32,tmp3int32; - char *name; + char name[256]; struct ldap_args a; /* these are here for now until we rewrite the LDAP code */ struct protoent result; @@ -104,7 +104,7 @@ int nslcd_protocol_byname(FILE *fp) int errnop; int retv; /* read request parameters */ - READ_STRING_ALLOC(fp,name); + READ_STRING_BUF2(fp,name,sizeof(name)); /* log call */ log_log(LOG_DEBUG,"nslcd_protocol_byname(%s)",name); /* write the response header */ @@ -115,8 +115,6 @@ int nslcd_protocol_byname(FILE *fp) LA_STRING(a)=name; LA_TYPE(a)=LA_TYPE_STRING; retv=nss2nslcd(_nss_ldap_getbyname(&a,&result,buffer,1024,&errnop,_nss_ldap_filt_getprotobyname,LM_PROTOCOLS,_nss_ldap_parse_proto)); - /* no more need for this string */ - free(name); /* write the response */ WRITE_INT32(fp,retv); if (retv==NSLCD_RESULT_SUCCESS) -- cgit v1.2.3