mirror of
https://github.com/curl/curl.git
synced 2025-02-23 15:10:03 +08:00
http_aws_sigv4: fix sorting with empty parts
When comparing with an empty part, the non-empty one is always considered greater-than. Previously, the two would be considered equal which would randomly place empty parts amongst non-empty ones. This showed as a test 439 failure on Solaris as it uses a different implementation of qsort() that compares parts differently. Fixes #11855 Closes #11868
This commit is contained in:
parent
589dca761c
commit
c879203538
@ -409,6 +409,11 @@ static int compare_func(const void *a, const void *b)
|
||||
{
|
||||
const struct pair *aa = a;
|
||||
const struct pair *bb = b;
|
||||
/* If one element is empty, the other is always sorted higher */
|
||||
if(aa->len == 0)
|
||||
return -1;
|
||||
if(bb->len == 0)
|
||||
return 1;
|
||||
return strncmp(aa->p, bb->p, aa->len < bb->len ? aa->len : bb->len);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user