mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Dereference pointer when comparing password history in qsort compare.
The man page for qsort(3) says that the comparison function is called with pointers to pointers to char but memcmp(3) wants a pointer to void so we need to cast and dereference. Without this the qsort() call wasn't properly sorting the elements so a random password was being removed rather than the oldest when the list overflowed. https://fedorahosted.org/freeipa/ticket/2613
This commit is contained in:
parent
2e3f5f25c4
commit
35f44a1aeb
@ -152,7 +152,7 @@ static int ipapwd_gentime_cmp(const void *p1, const void *p2)
|
||||
* a higher letter or number */
|
||||
|
||||
/* return youngest first by inverting terms */
|
||||
return memcmp(p2, p1, GENERALIZED_TIME_LENGTH);
|
||||
return memcmp(*(void * const *)p2, *(void * const *)p1, GENERALIZED_TIME_LENGTH);
|
||||
}
|
||||
|
||||
#define SHA_SALT_LENGTH 8
|
||||
|
Loading…
Reference in New Issue
Block a user