Katastrophale Folgen von pthread_cancel in cURL 8.16.0 und dessen Entfernung

2025-09-13

cURL 8.16.0 führte die Verwendung von pthread_cancel ein, um getaddrinfo() zu unterbrechen, mit dem Ziel, die Leistung zu verbessern. Dieser Änderung führte jedoch zu schwerwiegenden Speicherlecks. Dies liegt daran, dass getaddrinfo() beim Lesen der Datei /etc/gai.conf abgebrochen werden kann, was dazu führt, dass zugewiesener Speicher nicht freigegeben wird. Aufgrund der Schwierigkeit, dieses Problem zu beheben, und des Potenzials für schwerwiegende Stabilitätsprobleme, hat das cURL-Team beschlossen, diese Funktionalität in #18540 zu entfernen und empfiehlt Benutzern, die c-ares-Bibliothek als Alternative zu verwenden, trotz einiger funktionaler Einschränkungen.

Entwicklung