Glibc 2.30 rendszerkönyvtár kiadás

Hat hónapos fejlesztés után közzétett rendszerkönyvtár kiadás GNU C könyvtár (glibc) 2.30, amely teljes mértékben megfelel az ISO C11 és POSIX.1-2008 szabványok követelményeinek. Az új kiadás 48 fejlesztő javítását tartalmazza.

A Glibc 2.30-ban megvalósítottak közül fejlesztések megjegyzés:

  • A dinamikus linker támogatja a „--preload” opciót a megosztott objektumok előzetes betöltéséhez (az LD_PRELOAD környezeti változóhoz hasonlóan);
  • Hozzáadott twalk_r függvény, hasonló a már meglévő twalk függvényhez, de lehetővé teszi egy további argumentum átadását egy adott visszahívási függvénynek;
  • Új függvények getdents64, gettid és tgkill kerültek hozzáadásra Linuxhoz;
  • Győződjön meg arról, hogy a malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign és posix_memalign memóriakezelési függvények hibakóddal lépnek ki, ha az objektum teljes mérete meghaladja a PTRDIFF_MAX értéket. Ez a változtatás elkerüli a meghatározatlan viselkedést, amikor a mutató manipulációja a ptrdiff_t típusú túlcsorduláshoz vezet;
  • Hozzáadott POSIX függvények pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock és sem_clockwait, hasonlóan az "időzített" megfelelőihez, de emellett elfogad egy clockid_t paramétert az időzítő kiválasztásához;

  • A kódolási adatok, a karaktertípus-információk és az átírási táblázatok frissítésre kerültek, hogy támogassák a Unicode 12.1.0 specifikációt;
  • A librt könyvtár már nem biztosítja a clock_gettime, clock_getres, clock_settime, clock_getcpuclockid és clock_nanosleep függvényeket az új alkalmazásokhoz, hanem automatikusan használja a libc definícióit;
  • Az "inet6" opció eltávolítva az /etc/resolv.conf fájlból. A RES_USE_INET6, RES_INSECURE1 és RES_INSECURE2 elavult jelzők eltávolítása a resolv.h fájlból;
  • Az "--enable-bind-now" opció megadásakor a telepített programok a BIND_NOW jelzővel vannak kötve;
  • A Linux-specifikus sys/sysctl.h fejlécfájl és a sysctl függvény elavult, és az alkalmazásoknak helyette a /proc pszeudo-FS-t kell használniuk;
  • A Glibc felépítéséhez most GCC 6.2 vagy újabb szükséges (bármilyen fordító használható alkalmazások készítésére);
  • A sebezhetőség javítva CVE-2019 7309- a memcmp függvény megvalósításában elavult x32 alarchitektúra (nem tévesztendő össze az x86 IA-32-vel), aminek következtében a függvény hibásan 0 értéket adhat vissza a nem egyező karakterláncok esetén;
  • A sebezhetőség javítva CVE-2019 9169-, amely bizonyos reguláris kifejezések feldolgozása során a puffer határain kívül eső területről olvassa be az adatokat.

Forrás: opennet.ru

Hozzászólás