Vydání systémové knihovny Glibc 2.30

Po šesti měsících vývoje publikováno vydání systémové knihovny Knihovna GNU C (glibc) 2.30, který plně vyhovuje požadavkům norem ISO C11 a POSIX.1-2008. Nová verze obsahuje opravy od 48 vývojářů.

Z těch implementovaných v Glibc 2.30 vylepšení můžete si všimnout:

  • Dynamický linker poskytuje podporu pro volbu „--preload“ pro předběžné načítání sdílených objektů (analogické k proměnné prostředí LD_PRELOAD);
  • Přidána funkce twalk_r, podobná již existující funkci twalk, ale umožňuje vám předat další argument dané funkci zpětného volání;
  • Pro Linux byly přidány nové funkce getdents64, gettid a tgkill;
  • Zajistěte, aby funkce správy paměti malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign a posix_memalign skončily s chybovým kódem, když celková velikost objektu překročí hodnotu PTRDIFF_MAX. Tato změna zabrání nedefinovanému chování, když výsledek manipulace s ukazatelem vede k přetečení typu ptrdiff_t;
  • Přidány funkce POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock a sem_clockwait, podobné "timed" ekvivalentům, ale navíc akceptující parametr clockid_t pro výběr časovače;

  • Data kódování, informace o typu znaků a transliterační tabulky byly aktualizovány, aby podporovaly specifikaci Unicode 12.1.0;
  • Knihovna librt již neposkytuje funkce clock_gettime, clock_getres, clock_settime, clock_getcpuclockid a clock_nanosleep pro nové aplikace, ale místo toho automaticky používá definice v libc;
  • Možnost "inet6" byla odstraněna z /etc/resolv.conf. Odebrány zastaralé příznaky RES_USE_INET6, RES_INSECURE1 a RES_INSECURE2 z resolv.h;
  • Při zadání volby "--enable-bind-now" jsou nainstalované programy nyní svázány pomocí příznaku BIND_NOW;
  • Hlavičkový soubor sys/sysctl.h specifický pro Linux a funkce sysctl byly zastaralé a aplikace by měly místo toho používat /proc pseudo-FS;
  • Sestavení Glibc nyní vyžaduje GCC 6.2 nebo novější (k sestavování aplikací lze použít jakýkoli kompilátor);
  • Zranitelnost opravena CVE-2019-7309 při implementaci funkce memcmp pro zastaralý podarchitektura x32 (nezaměňovat s x86 IA-32), v důsledku čehož mohla funkce nesprávně vracet hodnotu 0 pro neodpovídající řetězce;
  • Zranitelnost opravena CVE-2019-9169, což může způsobit čtení dat z oblasti mimo hranice vyrovnávací paměti, když jsou zpracovávány určité regulární výrazy.

Zdroj: opennet.ru

Přidat komentář