Versión de la biblioteca del sistema Glibc 2.30

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

De los implementados en Glibc 2.30 mejoras puedes notar:

  • El vinculador dinámico brinda soporte para la opción “--preload” para precargar objetos compartidos (análoga a la variable de entorno LD_PRELOAD);
  • Se agregó la función twalk_r, similar a la función twalk ya existente, pero que le permite pasar un argumento adicional a una función de devolución de llamada determinada;
  • Se han agregado nuevas funciones getdents64, gettid y tgkill para Linux;
  • Asegúrese de que las funciones de administración de memoria malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign y posix_memalign salgan con un código de error cuando el tamaño total del objeto exceda el valor PTRDIFF_MAX. Este cambio evita un comportamiento indefinido cuando el resultado de la manipulación del puntero produce un desbordamiento del tipo ptrdiff_t;
  • Se agregaron funciones POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock y sem_clockwait, similares a los equivalentes "cronometrados", pero además aceptan un parámetro clockid_t para seleccionar el temporizador;

  • Los datos de codificación, la información del tipo de caracteres y las tablas de transliteración se actualizaron para admitir la especificación Unicode 12.1.0;
  • La biblioteca librt ya no proporciona las funciones clock_gettime, clock_getres, clock_settime, clock_getcpuclockid y clock_nanosleep para nuevas aplicaciones, sino que utiliza automáticamente las definiciones en libc;
  • La opción "inet6" se eliminó de /etc/resolv.conf. Se eliminaron las banderas obsoletas RES_USE_INET6, RES_INSECURE1 y RES_INSECURE2 de resolv.h;
  • Al especificar la opción "--enable-bind-now", los programas instalados ahora se vinculan utilizando el indicador BIND_NOW;
  • El archivo de encabezado sys/sysctl.h específico de Linux y la función sysctl han quedado obsoletos y las aplicaciones deberían usar el pseudo-FS /proc en su lugar;
  • La creación de Glibc ahora requiere GCC 6.2 o posterior (se puede utilizar cualquier compilador para crear aplicaciones);
  • Vulnerabilidad arreglada CVE-2019-7309 en la implementación de la función memcmp para obsoleto subarquitectura x32 (que no debe confundirse con x86 IA-32), como resultado de lo cual la función podría devolver incorrectamente el valor 0 para cadenas que no coinciden;
  • Vulnerabilidad arreglada CVE-2019-9169, lo que puede provocar que se lean datos desde un área fuera de los límites del búfer cuando se procesan ciertas expresiones regulares.

Fuente: opennet.ru

Añadir un comentario