Glibc 2.30 Sistem Kitaplığı Sürümü

Altı aylık geliştirmeden sonra yayınlanan sistem kitaplığı sürümü GNU C Kütüphanesi (glibc) 2.30, ISO C11 ve POSIX.1-2008 gerekliliklerine tamamen uygundur. Yeni sürüm, 48 geliştiriciden düzeltmeler içeriyor.

Glibc 2.30'da uygulandı iyileştirmeler şunları not edebilirsiniz:

  • Dinamik bağlayıcı, paylaşılan nesneleri önceden yüklemek için "--preload" seçeneğini destekler (LD_PRELOAD ortam değişkenine benzer);
  • Halihazırda var olan twalk işlevine benzer, ancak verilen geri arama işlevine ek bir argüman iletmenize izin veren twalk_r işlevi eklendi;
  • Linux için yeni getdents64, gettid ve tgkill işlevleri eklendi;
  • Malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign ve posix_memalign bellek yönetimi işlevleri, toplam nesne boyutu PTRDIFF_MAX değerini aştığında bir hata koduyla sonlandırılır. Bu değişiklik, bir işaretçi manipülasyonunun sonucu ptrdiff_t türünün taşmasıyla sonuçlandığında tanımsız davranışı önler;
  • POSIX tarafından önerilen işlevler eklendi pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock ve sem_clockwait, "zamanlı" eşdeğerlerine benzer, ancak ek olarak bir zamanlayıcı seçmek için bir clockid_t parametresi alır;

  • Kodlama verileri, karakter türü bilgileri ve harf çevirisi tabloları, Unicode 12.1.0 spesifikasyonunu desteklemek için güncellendi;
  • Clock_gettime, clock_getres, clock_settime, clock_getcpuclockid ve clock_nanosleep işlevleri artık yeni uygulamalar için librt kitaplığında sağlanmamaktadır ve bunun yerine otomatik olarak libc tanımları kullanılmaktadır;
  • /etc/resolv.conf, "inet6" seçeneğini kaldırmıştır. Eskimiş RES_USE_INET6, RES_INSECURE1 ve RES_INSECURE2 bayrakları resolv.h'den kaldırıldı;
  • "--enable-bind-now" seçeneği belirtilirken, kurulu programlar artık BIND_NOW bayrağı kullanılarak bağlanır;
  • Linux'a özgü sys/sysctl.h başlık dosyası ve sysctl işlevi kullanımdan kaldırılmıştır ve uygulamalar bunun yerine /proc sözde-FS'yi kullanmalıdır;
  • Glibc artık oluşturmak için GCC 6.2 veya daha yenisini gerektiriyor (uygulama oluşturmak için herhangi bir derleyici kullanılabilir);
  • Güvenlik açığı düzeltildi CVE-2019-7309 için memcmp işlevinin uygulanmasında modası geçmiş x32 alt mimarisi (x86 IA-32 ile karıştırılmamalıdır), bunun sonucunda işlev eşleşmeyen diziler için hatalı olarak 0 değerini döndürebilir;
  • Güvenlik açığı düzeltildi CVE-2019-9169, belirli normal ifadeler işlenirken verilerin sınırların dışında bir arabellekten okunmasına neden olabilir.

Kaynak: opennet.ru

Yorum ekle