Versión da biblioteca do sistema Glibc 2.30

Despois de seis meses de desenvolvemento publicado versión da biblioteca do sistema Biblioteca GNU C (glibc) 2.30, que cumpre totalmente cos requisitos da ISO C11 e POSIX.1-2008. A nova versión inclúe correccións de 48 desenvolvedores.

Implementado en Glibc 2.30 melloras podes notar:

  • O enlazador dinámico admite a opción "--preload" para precargar obxectos compartidos (semellante á variable de ambiente LD_PRELOAD);
  • Engadiuse a función twalk_r, similar á función twalk xa existente, pero que lle permite pasar un argumento adicional á función de devolución de chamada dada;
  • Para Linux, engadíronse novas funcións getdents64, gettid e tgkill;
  • As funcións de xestión de memoria malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign e posix_memalign rematan cun código de erro cando o tamaño total do obxecto supera o valor PTRDIFF_MAX. Este cambio evita un comportamento indefinido cando o resultado dunha manipulación do punteiro produce un desbordamento do tipo ptrdiff_t;
  • Engadíronse as funcións propostas de POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock e sem_clockwait, semellantes aos equivalentes "temporizados", pero tomando ademais un parámetro clockid_t para seleccionar un temporizador;

  • Actualizáronse os datos de codificación, a información do tipo de carácter e as táboas de transliteración para admitir a especificación Unicode 12.1.0;
  • As funcións clock_gettime, clock_getres, clock_settime, clock_getcpuclockid e clock_nanosleep xa non se proporcionan na biblioteca librt para novas aplicacións e as definicións libc utilízanse automaticamente no seu lugar;
  • /etc/resolv.conf deixou de usar a opción "inet6". Elimináronse as bandeiras obsoletas RES_USE_INET6, RES_INSECURE1 e RES_INSECURE2 de resolv.h;
  • Ao especificar a opción "--enable-bind-now", os programas instalados agora están ligados mediante a marca BIND_NOW;
  • O ficheiro de cabeceira sys/sysctl.h específico de Linux e a función sysctl quedaron en desuso, e as aplicacións deberían usar o pseudo-FS /proc;
  • Agora Glibc require GCC 6.2 ou máis recente para construír (calquera compilador pódese usar para construír aplicacións);
  • Vulnerabilidade corrixida CVE-2019-7309 na implementación da función memcmp para obsoleto Subarquitectura x32 (non confundir con x86 IA-32), polo que a función podería devolver incorrectamente o valor 0 para cadeas non coincidentes;
  • Vulnerabilidade corrixida CVE-2019-9169, o que pode facer que se lean datos dun búfer fóra dos límites ao procesar determinadas expresións regulares.

Fonte: opennet.ru

Engadir un comentario