Rilascio della libreria di sistema Glibc 2.30

Dopo sei mesi di sviluppo pubblicato rilascio della libreria di sistema GNU C Library (glibc) 2.30, che segue completamente i requisiti degli standard ISO C11 e POSIX.1-2008. La nuova versione include correzioni da 48 sviluppatori.

Tra le implementazioni in Glibc 2.30 migliorie si possono evidenziare:

  • Nel linker dinamico è stato implementato il supporto per l'opzione «—preload» per il pre-caricamento di oggetti condivisi (simile alla variabile d'ambiente LD_PRELOAD);
  • È stata aggiunta la funzione twalk_r, simile alla funzione twalk esistente, ma che consente di passare un argomento aggiuntivo alla funzione di callback specificata;
  • Per Linux sono state aggiunte nuove funzioni getdents64, gettid e tgkill;
  • È stata garantita l'uscita con codice di errore delle funzioni di gestione della memoria malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign e posix_memalign, in situazioni in cui la dimensione totale dell'oggetto supera il valore di PTRDIFF_MAX. Questa modifica consente di evitare comportamenti indesiderati quando il risultato della manipolazione dei puntatori porta a un overflow del tipo ptrdiff_t;
  • Sono state aggiunte le funzioni proposte in POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock e sem_clockwait, simili agli equivalenti «timed», ma che accettano anche un parametro clockid_t per la scelta del timer;
  • Le informazioni sulle codifiche, i tipi di caratteri e le tabelle di traslitterazione sono state aggiornate per supportare la specifica Unicode 12.1.0;
  • Nella libreria librt, le funzioni clock_gettime, clock_getres, clock_settime, clock_getcpuclockid e clock_nanosleep non vengono più fornite per le nuove applicazioni, utilizzando invece automaticamente le definizioni in libc;
  • Il supporto per l'opzione «inet6» è stato interrotto in /etc/resolv.conf. I flag obsoleti RES_USE_INET6, RES_INSECURE1 e RES_INSECURE2 sono stati rimossi da resolv.h;
  • Quando si specifica l'opzione «--enable-bind-now», i programmi installati ora si collegano utilizzando il flag BIND_NOW;
  • Il file di intestazione specifico per Linux sys/sysctl.h e la funzione sysctl sono stati dichiarati obsoleti, e gli sviluppatori sono incoraggiati a utilizzare il pseudo-FS /proc;
  • Per compilare Glibc è necessaria una versione di GCC 6.2 o superiore (possono essere utilizzati qualsiasi compilatore per la compilazione delle applicazioni);
  • Risolta la vulnerabilità CVE-2019-7309 nell'implementazione della funzione memcmp per obsoleto la sottarchitettura x32 (non confonderla con x86 IA-32), che poteva restituire in modo errato il valore 0 per stringhe non corrispondenti;
  • Risolta la vulnerabilità CVE-2019-9169, che può portare alla lettura di dati al di fuori dei confini del buffer durante l'elaborazione di determinate espressioni regolari.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster