]> git.sur5r.net Git - openldap/commitdiff
ldap_sort_entries() should try to malloc(0) when the count is zero.
authorKurt Zeilenga <kurt@openldap.org>
Fri, 29 Jan 1999 03:56:18 +0000 (03:56 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 29 Jan 1999 03:56:18 +0000 (03:56 +0000)
should also return error in ldap_count_entries returns an error.

libraries/libldap/sort.c

index 300cccdf75f0e108394f7d6ccbec65e6043805ad..cab92cc7d75759c47e5e31a3339ffde27a0b1ba4 100644 (file)
@@ -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;