mirror of
https://github.com/curl/curl.git
synced 2026-04-11 12:01:42 +08:00
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:
parent
614895c045
commit
a97f9d41cc
@ -623,7 +623,7 @@ static CURLcode ldap_do(struct Curl_easy *data, bool *done)
|
||||
}
|
||||
|
||||
if((attr_len > 7) &&
|
||||
(strcmp(";binary", attr + (attr_len - 7)) == 0)) {
|
||||
curl_strequal(";binary", attr + (attr_len - 7)) ) {
|
||||
/* Binary attribute, encode to base64. */
|
||||
if(vals[i]->bv_len) {
|
||||
result = curlx_base64_encode(vals[i]->bv_val, vals[i]->bv_len,
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user