Uscita 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 soddisfa 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 miglioramenti si possono notare:

  • Nel linker dinamico è stata introdotta la supporto per l'opzione «—preload» per il pre-caricamento di oggetti condivisi (analogo alla variabile ambiente LD_PRELOAD);
  • È stata aggiunta la funzione twalk_r, simile alla funzione twalk esistente, ma che consente di passare un argomento aggiuntivo alla callback specificata;
  • Per Linux sono state aggiunte nuove funzioni getdents64, gettid e tgkill;
  • È stata garantita la terminazione con codice errore delle funzioni di gestione della memoria malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign e posix_memalign, nel caso in cui la dimensione totale dell'oggetto superi il valore PTRDIFF_MAX. Questa modifica permette di evitare comportamenti indefiniti quando il risultato della manipolazione dei puntatori porta a 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 scegliere il timer;
  • I dati di codifica, le informazioni sui tipi di caratteri e le tabelle di traslitterazione sono stati aggiornati per supportare la specifica Unicode 12.1.0;
  • Nella libreria librt non sono più disponibili le funzioni clock_gettime, clock_getres, clock_settime, clock_getcpuclockid e clock_nanosleep per nuove applicazioni, per le quali vengono utilizzate automaticamente le definizioni in libc;
  • Nel file /etc/resolv.conf è stata rimossa la supporto per l'opzione «inet6». Sono stati eliminati i flag obsoleti RES_USE_INET6, RES_INSECURE1 e RES_INSECURE2 da resolv.h;
  • Specificando l'opzione «—enable-bind-now», i programmi installati ora si legano utilizzando il flag BIND_NOW;
  • Il file di intestazione sys/sysctl.h specifico per Linux e la funzione sysctl sono stati dichiarati obsoleti, e le applicazioni dovrebbero invece utilizzare il pseudo-FS /proc;
  • Per compilare Glibc è ora richiesta una versione di GCC 6.2 o più recente (possono essere utilizzati qualsiasi compilatori per la compilazione delle applicazioni);
  • Vulnerabilità risolta CVE-2019-7309 nell'implementazione della funzione memcmp per obsoleto sottoarchitettura x32 (non confondere con x86 IA-32), che ha portato la funzione a restituire in modo errato il valore 0 per stringhe non corrispondenti;
  • Vulnerabilità risolta CVE-2019-9169, che può portare alla lettura di dati da un'area 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