From 2c4e2fbfb2aaf373bfe2683677ffa31d95fd42c3 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Fri, 29 Jan 1999 03:56:18 +0000 Subject: [PATCH] ldap_sort_entries() should try to malloc(0) when the count is zero. should also return error in ldap_count_entries returns an error. --- libraries/libldap/sort.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libraries/libldap/sort.c b/libraries/libldap/sort.c index 300cccdf75..cab92cc7d7 100644 --- a/libraries/libldap/sort.c +++ b/libraries/libldap/sort.c @@ -91,6 +91,18 @@ ldap_sort_entries( count = ldap_count_entries( ld, *chain ); + + if ( count < 0 ) { + if( ld != NULL ) { + ld->ld_errno = LDAP_PARAM_ERROR; + } + return -1; + + } else if ( count < 2 ) { + /* zero or one entries -- already sorted! */ + return 0; + } + if ( (et = (struct entrything *) malloc( count * sizeof(struct entrything) )) == NULL ) { ld->ld_errno = LDAP_NO_MEMORY; -- 2.39.5