openldap/ldap; check for binary attribute case insensitively

This bug was found with ZeroPath

Fixes #19240
Reported-by: Joshua Rogers
Closes #19273
This commit is contained in:
Daniel Stenberg 2025-10-29 09:11:09 +01:00
parent 614895c045
commit a97f9d41cc
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
2 changed files with 3 additions and 3 deletions

View file

@ -1096,7 +1096,6 @@ static CURLcode oldap_recv(struct Curl_easy *data, int sockindex, char *buf,
BerElement *ber = NULL;
struct timeval tv = {0, 0};
struct berval bv, *bvals;
bool binary = FALSE;
CURLcode result = CURLE_AGAIN;
int code;
char *info = NULL;
@ -1167,6 +1166,7 @@ static CURLcode oldap_recv(struct Curl_easy *data, int sockindex, char *buf,
rc == LDAP_SUCCESS;
rc = ldap_get_attribute_ber(li->ld, msg, ber, &bv, &bvals)) {
int i;
bool binary;
if(!bv.bv_val)
break;
@ -1180,7 +1180,7 @@ static CURLcode oldap_recv(struct Curl_easy *data, int sockindex, char *buf,
}
binary = bv.bv_len > 7 &&
!strncmp(bv.bv_val + bv.bv_len - 7, ";binary", 7);
curl_strnequal(bv.bv_val + bv.bv_len - 7, ";binary", 7);
for(i = 0; bvals[i].bv_val != NULL; i++) {
bool binval = FALSE;