Po šesti měsících vývoje vydání systémové knihovny (glibc) , která plně vyhovuje požadavkům norem ISO C11 a POSIX.1-2008. Nové vydání zahrnuje opravy od 48 vývojářů.
Zrealizované v Glibc 2.30 můžeme zmínit:
- Byla zajištěna podpora volby „—preload“ v dynamickém linkeru pro přednačítání sdílených objektů (podobně jako proměnná prostředí LD_PRELOAD);
- Byla přidána funkce twalk_r, podobná již existující funkci twalk, ale umožňující předat další argument do zadané callback funkce;
- Pro Linux byly přidány nové funkce getdents64, gettid a tgkill;
- Bylo zajištěno ukončení s kódem chyby funkcí pro správu paměti malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign a posix_memalign, v situacích, kdy celková velikost objektu překračuje hodnotu PTRDIFF_MAX. Tato změna umožňuje vyhnout se nedefinovanému chování, kdy výsledek manipulace s ukazateli vede k přetečení typu ptrdiff_t;
- Byly přidány funkce pthread_cond_clockwait, pthread_mutex_clocklock,
pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock a sem_clockwait, podobné ekvivalentům „timed“, ale navíc přijímající parametr clockid_t pro výběr časovače; - Data kódování, informace o typech znaků a tabulky transliterace byly aktualizovány pro podporu specifikace Unicode 12.1.0;
- V knihovně librt již nejsou poskytovány funkce clock_gettime, clock_getres, clock_settime, clock_getcpuclockid a clock_nanosleep pro nové aplikace, místo nich se automaticky používají definice v libc;
- V /etc/resolv.conf byla ukončena podpora volby „inet6“. Z resolv.h byly odstraněny zastaralé příznaky RES_USE_INET6, RES_INSECURE1 a RES_INSECURE2;
- Při zadání volby „—enable-bind-now“ se nyní nainstalované programy spojují s využitím příznaku BIND_NOW;
- Byly označeny za zastaralé specifické pro Linux hlavičkový soubor sys/sysctl.h a funkce sysctl, místo nich by aplikace měly používat pseudo-systémový soubor /proc;
- Pro sestavení Glibc je nyní vyžadován GCC 6.2 nebo novější (pro sestavení aplikací mohou být použity jakékoli kompiler);
- Byla odstraněna zranitelnost v implementaci funkce memcmp pro subarchitekturu x32 (neházet do jednoho pytle s x86 IA-32), v důsledku čehož mohla funkce nesprávně vracet hodnotu 0 pro nesouhlasící řetězce;
- Byla odstraněna zranitelnost , která může vést ke čtení dat z oblasti mimo meze vyrovnávací paměti při zpracování určitých regulárních výrazů.
Zdroj: opennet.ru
