Glibc 2.30 systeembibliotheek release

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

Van degenen die zijn geïmplementeerd in Glibc 2.30 verbeteringen je kunt opmerken:

  • De dynamische linker biedt ondersteuning voor de “--preload” optie voor het vooraf laden van gedeelde objecten (analoog aan de omgevingsvariabele LD_PRELOAD);
  • Functie twalk_r toegevoegd, vergelijkbaar met de reeds bestaande functie twalk, maar waarmee u een extra argument kunt doorgeven aan een bepaalde callback-functie;
  • Nieuwe functies getdents64, gettid en tgkill zijn toegevoegd voor Linux;
  • Zorg ervoor dat de geheugenbeheerfuncties malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign en posix_memalign afsluiten met een foutcode wanneer de totale objectgrootte de PTRDIFF_MAX-waarde overschrijdt. Deze wijziging vermijdt ongedefinieerd gedrag wanneer het resultaat van pointermanipulatie leidt tot een overflow van het type ptrdiff_t;
  • POSIX-functies pthread_cond_clockwait, pthread_mutex_clocklock, toegevoegd
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock en sem_clockwait, vergelijkbaar met de "timed" equivalenten, maar bovendien een clockid_t parameter accepteren om de timer te selecteren;

  • Coderingsgegevens, tekentype-informatie en transliteratietabellen zijn bijgewerkt om de Unicode 12.1.0-specificatie te ondersteunen;
  • De librt-bibliotheek biedt niet langer de functies clock_gettime, clock_getres, clock_settime, clock_getcpuclockid en clock_nanosleep voor nieuwe toepassingen, maar gebruikt in plaats daarvan automatisch de definities in libc;
  • De optie "inet6" is verwijderd uit /etc/resolv.conf. Verouderde vlaggen RES_USE_INET6, RES_INSECURE1 en RES_INSECURE2 verwijderd uit resolv.h;
  • Wanneer u de optie "--enable-bind-now" specificeert, worden geïnstalleerde programma's nu gebonden met behulp van de vlag BIND_NOW;
  • Het Linux-specifieke headerbestand sys/sysctl.h en de sysctl-functie zijn verouderd, en applicaties zouden in plaats daarvan de /proc pseudo-FS moeten gebruiken;
  • Voor het bouwen van Glibc is nu GCC 6.2 of nieuwer vereist (elke compiler kan worden gebruikt om applicaties te bouwen);
  • Kwetsbaarheid opgelost CVE-2019-7309 bij de implementatie van de memcmp-functie voor verouderd x32-subarchitectuur (niet te verwarren met x86 IA-32), waardoor de functie ten onrechte de waarde 0 kon retourneren voor niet-overeenkomende strings;
  • Kwetsbaarheid opgelost CVE-2019-9169, waardoor gegevens kunnen worden gelezen uit een gebied buiten de grenzen van de buffer wanneer bepaalde reguliere expressies worden verwerkt.

Bron: opennet.ru

Voeg een reactie