Versió de la biblioteca del sistema Glibc 2.30

Després de sis mesos de desenvolupament publicat llançament de la biblioteca del sistema Biblioteca GNU C (glibc) 2.30, que compleix totalment els requisits de les normes ISO C11 i POSIX.1-2008. La nova versió inclou correccions de 48 desenvolupadors.

Dels implementats a Glibc 2.30 millores es pot observar:

  • L'enllaç dinàmic proporciona suport per a l'opció "--preload" per carregar prèviament objectes compartits (anàloga a la variable d'entorn LD_PRELOAD);
  • S'ha afegit la funció twalk_r, similar a la funció twalk ja existent, però que us permet passar un argument addicional a una funció de devolució de trucada determinada;
  • S'han afegit noves funcions getdents64, gettid i tgkill per a Linux;
  • Assegureu-vos que les funcions de gestió de memòria funcionen malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign i posix_memalign sortida amb un codi d'error quan la mida total de l'objecte supera el valor PTRDIFF_MAX. Aquest canvi evita un comportament no definit quan el resultat de la manipulació del punter condueix a un desbordament del tipus ptrdiff_t;
  • S'han afegit funcions POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock i sem_clockwait, semblants als equivalents "temporitzats", però acceptant, a més, un paràmetre clockid_t per seleccionar el temporitzador;

  • Les dades de codificació, la informació de tipus de caràcter i les taules de transliteració s'han actualitzat per donar suport a l'especificació Unicode 12.1.0;
  • La biblioteca librt ja no proporciona les funcions clock_gettime, clock_getres, clock_settime, clock_getcpuclockid i clock_nanosleep per a aplicacions noves, sinó que utilitza automàticament les definicions a libc;
  • L'opció "inet6" s'ha eliminat de /etc/resolv.conf. S'han eliminat els indicadors obsolets RES_USE_INET6, RES_INSECURE1 i RES_INSECURE2 de resolv.h;
  • Quan s'especifica l'opció "--enable-bind-now", els programes instal·lats ara s'enllacen mitjançant el senyalador BIND_NOW;
  • El fitxer de capçalera sys/sysctl.h i la funció sysctl específics de Linux han quedat obsolets, i les aplicacions haurien d'utilitzar /proc pseudo-FS;
  • La construcció de Glibc ara requereix GCC 6.2 o més recent (qualsevol compilador es pot utilitzar per crear aplicacions);
  • Vulnerabilitat arreglada CVE-2019-7309 en la implementació de la funció memcmp per antiquat subarquitectura x32 (que no s'ha de confondre amb x86 IA-32), com a resultat de la qual la funció podria retornar incorrectament el valor 0 per a cadenes que no coincideixen;
  • Vulnerabilitat arreglada CVE-2019-9169, que pot provocar que es llegeixin dades des d'una àrea fora dels límits de la memòria intermèdia quan es processen determinades expressions regulars.

Font: opennet.ru

Afegeix comentari