]> granicus.if.org Git - php/commitdiff
- Make sure people call ldap_first_attribute() before ldap_next_attribute()
authorJani Taskinen <jani@php.net>
Fri, 13 Jul 2007 02:00:26 +0000 (02:00 +0000)
committerJani Taskinen <jani@php.net>
Fri, 13 Jul 2007 02:00:26 +0000 (02:00 +0000)
ext/ldap/ldap.c

index 7401613cf63e7830096f1f7717396b540e243051..4146af1400d9f421513fedb96bfb4320662291db 100644 (file)
@@ -1165,6 +1165,11 @@ PHP_FUNCTION(ldap_next_attribute)
        ZEND_FETCH_RESOURCE(ld, ldap_linkdata *, link, -1, "ldap link", le_link);
        ZEND_FETCH_RESOURCE(resultentry, ldap_resultentry *, result_entry, -1, "ldap result entry", le_result_entry);
 
+       if (resultentry->ber == NULL) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "called before calling ldap_first_attribute() or no attributes found in result entry");
+               RETURN_FALSE;
+       }
+
        if ((attribute = ldap_next_attribute(ld->link, resultentry->data, resultentry->ber)) == NULL) {
 #if (LDAP_API_VERSION > 2000) || HAVE_NSLDAP || HAVE_ORALDAP_10 || WINDOWS
                if (resultentry->ber != NULL) {