Versão da biblioteca do sistema Glibc 2.30

Após seis meses de desenvolvimento publicado lançamento da biblioteca do sistema Biblioteca GNU C (glibc) 2.30, que atende integralmente aos requisitos da ISO C11 e POSIX.1-2008. A nova versão inclui correções de 48 desenvolvedores.

Implementado em Glibc 2.30 melhorias você pode observar:

  • O vinculador dinâmico suporta a opção "--preload" para pré-carregar objetos compartilhados (semelhante à variável de ambiente LD_PRELOAD);
  • Adicionada função twalk_r, semelhante à função twalk já existente, mas permitindo passar um argumento adicional para a função de retorno de chamada fornecida;
  • Para Linux, novas funções getdents64, gettid e tgkill foram adicionadas;
  • As funções de gerenciamento de memória malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign e posix_memalign terminam com um código de erro quando o tamanho total do objeto excede o valor PTRDIFF_MAX. Essa alteração evita comportamento indefinido quando o resultado de uma manipulação de ponteiro resulta em um overflow do tipo ptrdiff_t;
  • Adicionadas funções propostas POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock e sem_clockwait, semelhantes aos equivalentes "temporizados", mas usando adicionalmente um parâmetro clockid_t para selecionar um temporizador;

  • Dados de codificação, informações de tipo de caractere e tabelas de transliteração foram atualizados para suportar a especificação Unicode 12.1.0;
  • As funções clock_gettime, clock_getres, clock_settime, clock_getcpuclockid e clock_nanosleep não são mais fornecidas na biblioteca librt para novos aplicativos e as definições libc são usadas automaticamente;
  • /etc/resolv.conf descontinuou a opção "inet6". Removidos sinalizadores obsoletos RES_USE_INET6, RES_INSECURE1 e RES_INSECURE2 de resolv.h;
  • Ao especificar a opção "--enable-bind-now", os programas instalados agora são vinculados usando o sinalizador BIND_NOW;
  • O arquivo de cabeçalho sys/sysctl.h específico do Linux e a função sysctl foram descontinuados e os aplicativos devem usar o pseudo-FS /proc;
  • Glibc agora requer GCC 6.2 ou mais recente para construir (qualquer compilador pode ser usado para construir aplicativos);
  • Vulnerabilidade corrigida CVE-2019-7309 na implementação da função memcmp para obsoleto Subarquitetura x32 (não deve ser confundida com x86 IA-32), como resultado a função pode retornar incorretamente o valor 0 para strings não correspondentes;
  • Vulnerabilidade corrigida CVE-2019-9169, o que pode fazer com que os dados sejam lidos de um buffer fora dos limites ao processar determinadas expressões regulares.

Fonte: opennet.ru

Adicionar um comentário