Lanzamiento de la biblioteca del sistema Glibc 2.30

Después de seis meses de desarrollo publicado lanzamiento de la biblioteca del sistema GNU C Library (glibc) 2.30, que cumple completamente con los estándares ISO C11 y POSIX.1-2008. La nueva versión incluye correcciones de 48 desarrolladores.

De los implementados en Glibc 2.30 son se pueden destacar:

  • Se ha añadido soporte para la opción «—preload» en el enlazador dinámico para la precarga de objetos compartidos (análogo a la variable de entorno LD_PRELOAD);
  • Se ha agregado la función twalk_r, similar a la función twalk existente, pero que permite pasar un argumento adicional a una función de callback especificada;
  • Para Linux se han añadido nuevas funciones getdents64, gettid y tgkill;
  • Se garantiza que las funciones de gestión de memoria malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign y posix_memalign finalizan con un código de error en situaciones en las que el tamaño total del objeto excede el valor PTRDIFF_MAX. Este cambio permite evitar un comportamiento indefinido cuando el resultado de las operaciones con punteros lleva a un desbordamiento del tipo ptrdiff_t;
  • Se añadieron las funciones propuestas en POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock y sem_clockwait, similares a sus equivalentes «timed», pero que además aceptan el parámetro clockid_t para seleccionar un temporizador;
  • La información sobre codificaciones, tipos de caracteres y tablas de transliteración se ha actualizado para soportar la especificación Unicode 12.1.0;
  • En la biblioteca librt, las funciones clock_gettime, clock_getres, clock_settime, clock_getcpuclockid y clock_nanosleep ya no se proporcionan para nuevas aplicaciones, siendo utilizadas automáticamente las definiciones en libc;
  • En /etc/resolv.conf se ha dejado de dar soporte a la opción «inet6». Se han eliminado los flags obsoletos RES_USE_INET6, RES_INSECURE1 y RES_INSECURE2 de resolv.h;
  • Al especificar la opción «—enable-bind-now», los programas instalados ahora se enlazan utilizando la bandera BIND_NOW;
  • Se han declarado obsoletos el archivo de cabecera específico de Linux sys/sysctl.h y la función sysctl, y se recomienda a las aplicaciones utilizar el sistema de archivos pseudo /proc;
  • Para construir Glibc ahora se requiere GCC 6.2 o una versión más nueva (cualquier compilador puede utilizarse para la construcción de aplicaciones);
  • Se corrigió una vulnerabilidad CVE-2019-7309 en la implementación de la función memcmp para obsoleta subarquitectura x32 (no confundir con x86 IA-32), lo que resultó en que la función pudiera devolver incorrectamente el valor 0 para cadenas que no coincidían;
  • Se corrigió una vulnerabilidad CVE-2019-9169, que puede llevar a la lectura de datos fuera de los límites del búfer al procesar ciertas expresiones regulares.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster