PĂ€rast kuue kuu arendustööd sĂŒsteemiraamatukogu vĂ€ljaanne (glibc) , mis jĂ€rgib tĂ€ielikult ISO C11 ja POSIX.1-2008 standardite nĂ”udeid. Uue vĂ€ljaande koosseisu kuuluvad parandused 48 arendajalt.
Glibc 2.30-s ellu viidud poolelt vÔib mÀrkida:
- DĂŒnaamilises linkeris on tagatud toe toode ââpreloadâ, et eelkoormata jagatud objekte (sarnane keskkonnamuutujale LD_PRELOAD);
- Lisatud funktsioon twalk_r, mis sarnaneb juba olemasolevale funktsioonile twalk, kuid vÔimaldab edastada tÀiendava argumendi mÀÀratud tagasisidefunktsioonile;
- Linuxi jaoks on lisatud uued funktsioonid getdents64, gettid ja tgkill;
- Tagatud on veakoodiga lĂ”petamine mĂ€lu juhtimise funktsioonide malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign ja posix_memalign puhul, kui objekti kogusuurus ĂŒletab PTRDIFF_MAX vÀÀrtuse. Antud muudatus aitab vĂ€ltida mÀÀramatut kĂ€itumist, kui pointerite manipuleerimine viib ptrdiff_t tĂŒĂŒbi ĂŒlevooluni;
- Lisatud POSIXi soovitatud funktsioonid pthread_cond_clockwait, pthread_mutex_clocklock,
pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock ja sem_clockwait, mis sarnanevad âtimedâ vastetega, kuid vĂ”tavad tĂ€iendava parameetrina clockid_t, et valida taimer; - Koodi kodeerimise, sĂŒmbolite tĂŒĂŒpide ja transkriptsioonitabelite teave on ajakohastatud, et toetada Unicode 12.1.0 spetsifikatsiooni;
- Librt raamatukogus ei pakuta uusi rakendusi enam funktsioone clock_gettime, clock_getres, clock_settime, clock_getcpuclockid ja clock_nanosleep, mille asemel kasutatakse automaatselt libc mÀÀratlusi;
- Failis /etc/resolv.conf on lÔpetatud 'inet6' valiku tugi. Uuendatud on resolv.h ja eemaldatud on vananenud lipud RES_USE_INET6, RES_INSECURE1 ja RES_INSECURE2;
- Valiku 'âenable-bind-now' mÀÀramisel seotakse nĂŒĂŒd installitud programmid BIND_NOW lipuga;
- Linuxile spetsiifiline pealkiri sys/sysctl.h ja funktsioon sysctl on kuulutatud vananenuks ning rakendustes tuleks kasutada pseudo-FS /proc;
- Glibc koostamiseks on nĂŒĂŒd vajalik GCC 6.2 vĂ”i uuem versioon (rakenduste koostamiseks vĂ”ivad kasutada muid kompilaatoreid);
- Ohutuspuudus kÔrvaldatud memcpy funktsiooni rakenduses x32 alaarhitektuur (Àrge segage x86 IA-32-ga), mille tulemuseks on, et funktsioon vÔis vale tulemuse 0 tagasi anda, kui stringid ei kattunud;
- Ohutuspuudus kÔrvaldatud , mis vÔib viia andmete lugemiseni mÀlupiiri vÀlisest alast teatud regulaaravalduste töötlemisel.
Allikas: opennet.ru
