Uitgave van de systeembibliotheek Glibc 2.30

Na zes maanden ontwikkeling gepubliceerd release van de systeembibliotheek GNU C Library (glibc) 2.30, die volledig voldoet aan de eisen van de ISO C11 en POSIX.1-2008 normen. De nieuwe release bevat correcties van 48 ontwikkelaars.

In Glibc 2.30 geïmplementeerd verbeteringen kunnen worden opgemerkt:

  • In de dynamische linkloader is ondersteuning toegevoegd voor de optie «—preload» om gedeelde objecten vooraf te laden (vergelijkbaar met de omgevingsvariabele LD_PRELOAD);
  • Een functie twalk_r is toegevoegd, die lijkt op de bestaande twalk functie, maar waarmee een extra argument naar de opgegeven callback-functie kan worden doorgegeven;
  • Voor Linux zijn nieuwe functies getdents64, gettid en tgkill toegevoegd;
  • Het is nu mogelijk dat de functies voor geheugenbeheer malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign en posix_memalign eindigen met een foutcode wanneer de totale grootte van het object groter is dan PTRDIFF_MAX. Deze wijziging voorkomt onvoorspelbaar gedrag wanneer pointermanipulaties leiden tot een overflow van het type ptrdiff_t;
  • De in POSIX voorgestelde functies pthread_cond_clockwait, pthread_mutex_clocklock zijn toegevoegd,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock en sem_clockwait, vergelijkbaar met de 'timed' equivalenten, maar met een extra parameter clockid_t voor het selecteren van de timer;
  • De coderingsgegevens, informatie over lettertypen en transliteratietabellen zijn bijgewerkt ter ondersteuning van specificatie Unicode 12.1.0;
  • In de librt-bibliotheek worden de functies clock_gettime, clock_getres, clock_settime, clock_getcpuclockid en clock_nanosleep niet meer aangeboden voor nieuwe applicaties, in plaats daarvan worden automatisch de definities in libc gebruikt;
  • De optie «inet6» wordt niet langer ondersteund in /etc/resolv.conf. Verouderde vlaggen RES_USE_INET6, RES_INSECURE1 en RES_INSECURE2 zijn uit resolv.h verwijderd;
  • Bij het opgeven van de optie «—enable-bind-now» worden geïnstalleerde programma's nu gebonden met de vlag BIND_NOW;
  • De headers sys/sysctl.h en de functie sysctl, specifiek voor Linux, zijn als verouderd gemarkeerd, in plaats daarvan dienen applicaties het pseudo-bestandssysteem /proc te gebruiken;
  • Voor de bouw van Glibc is nu GCC 6.2 of een nieuwere versie vereist (voor de bouw van applicaties kunnen alle compilers worden gebruikt);
  • Er is een kwetsbaarheid verholpen CVE-2019-7309 in de implementatie van de functie memcmp voor verouderde subarchitectuur x32 (niet te verwarren met x86 IA-32), waardoor de functie mogelijk ten onrechte de waarde 0 retourneerde voor niet-overeenkomende strings;
  • Er is een kwetsbaarheid verholpen CVE-2019-9169, wat kan leiden tot het lezen van gegevens buiten de buffergrenzen bij het verwerken van bepaalde reguliere expressies.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster