Udgivelsen af systembiblioteket Glibc 2.30

Efter seks måneders udvikling udgivet udgivelse af systembibliotek GNU C-bibliotek (glibc) 2.30, som fuldt ud overholder kravene i standarderne ISO C11 og POSIX.1-2008. Den nye version inkluderer rettelser fra 48 udviklere.

Blandt de implementerede funktioner i Glibc 2.30 kan nævnes: Der er tilføjet makro _ISOC2X_SOURCE for at inkludere funktioner defineret i udkastet til den fremtidige ISO-standard

  • I den dynamiske linker er støtte til indstillingen «—preload» tilføjet for forudindlæsning af delte objekter (som svarer til miljøvariablen LD_PRELOAD);
  • Funktionen twalk_r er tilføjet, som ligner den eksisterende funktion twalk, men muliggør at sende et ekstra argument til den angivne callback-funktion;
  • Der er tilføjet nye funktioner getdents64, gettid og tgkill for Linux;
  • Der er sikret afslutning med fejlkod for hukommelseshåndteringsfunktionerne malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign og posix_memalign, når den samlede objektstørrelse overstiger værdien PTRDIFF_MAX. Denne ændring forhindrer udefineret adfærd, når pointermanipulation resulterer i overløb af typen ptrdiff_t;
  • De i POSIX foreslåede funktioner pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock og sem_clockwait er tilføjet, som ligner de «timed» ækvivalenter, men som yderligere modtager parameteren clockid_t til valg af timer;
  • Kodningsdata, information om tegnarter og translittereringstabeller er opdateret for at understøtte Unicode-specifikationen 12.1.0;
  • I biblioteket librt tilbydes de tidligere funktioner clock_gettime, clock_getres, clock_settime, clock_getcpuclockid og clock_nanosleep ikke længere for nye applikationer; i stedet anvendes definitioner i libc automatisk;
  • I /etc/resolv.conf er understøttelse af indstillingen «inet6» ophørt. Uudnyttede flag RES_USE_INET6, RES_INSECURE1 og RES_INSECURE2 er fjernet fra resolv.h;
  • Når indstillingen «—enable-bind-now» angives, bindes installerede programmer nu med brug af flaget BIND_NOW;
  • Den Linux-specifikke headerfil sys/sysctl.h og funktionen sysctl er blevet erklæret forældede, og applikationer bør i stedet bruge pseudo-filsystemet /proc;
  • For at bygge Glibc kræves nu GCC 6.2 eller en nyere version (alle kompilatorer kan bruges til at bygge applikationer);
  • Sikkerhedsfejl rettet CVE-2019-7309 i implementeringen af funktionen memcmp for forældret subarkitekturen x32 (forveksles ikke med x86 IA-32), hvilket kan resultere i, at funktionen fejlagtigt returnerer værdien 0 for uoverensstemmende strenge;
  • Sikkerhedsfejl rettet CVE-2019-9169, som kan føre til læsning af data fra områder uden for buffergrænserne, når visse regulære udtryk behandles.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster