Glibc 2.30 Sistem Kitabxanası Buraxılışı

Altı aylıq inkişafdan sonra nəşr olundu sistem kitabxanasının buraxılışı GNU C Kitabxanası (glibc) 2.30, ISO C11 və POSIX.1-2008 tələblərinə tam uyğundur. Yeni buraxılışa 48 tərtibatçı tərəfindən düzəlişlər daxildir.

Glibc 2.30-da həyata keçirilir təkmilləşdirmələr qeyd edə bilərsiniz:

  • Dinamik əlaqələndirici paylaşılan obyektlərin əvvəlcədən yüklənməsi üçün "--preload" seçimini dəstəkləyir (LD_PRELOAD mühit dəyişəninə bənzər);
  • Artıq mövcud twalk funksiyasına bənzər, lakin verilmiş geri çağırış funksiyasına əlavə arqument ötürməyə imkan verən twalk_r funksiyası əlavə edildi;
  • Linux üçün yeni getdents64, gettid və tgkill funksiyaları əlavə edildi;
  • Yaddaş idarəetmə funksiyaları malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign və posix_memalign ümumi obyekt ölçüsü PTRDIFF_MAX dəyərini keçdikdə xəta kodu ilə dayandırılır. Göstərici manipulyasiyasının nəticəsi ptrdiff_t növünün daşması ilə nəticələndikdə bu dəyişiklik qeyri-müəyyən davranışdan qaçır;
  • Əlavə edilmiş POSIX funksiyaları pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock və sem_clockwait, "vaxt təyin edilmiş" ekvivalentlərə bənzəyir, lakin əlavə olaraq taymer seçmək üçün clockid_t parametrini götürür;

  • Unicode 12.1.0 spesifikasiyasını dəstəkləmək üçün kodlaşdırma məlumatları, simvol tipi məlumatı və transliterasiya cədvəlləri yeniləndi;
  • clock_gettime, clock_getres, clock_settime, clock_getcpuclockid və clock_nanosleep funksiyaları artıq yeni proqramlar üçün librt kitabxanasında təmin edilmir və libc tərifləri əvəzinə avtomatik olaraq istifadə olunur;
  • /etc/resolv.conf "inet6" seçimini ləğv etdi. resolv.h-dən köhnəlmiş RES_USE_INET6, RES_INSECURE1 və RES_INSECURE2 bayraqları silindi;
  • "--enable-bind-now" seçimini təyin edərkən, quraşdırılmış proqramlar indi BIND_NOW bayrağı ilə bağlanır;
  • Linux-a məxsus sys/sysctl.h başlıq faylı və sysctl funksiyası köhnəlmişdir və tətbiqlər bunun əvəzinə /proc psevdo-FS-dən istifadə etməlidir;
  • Glibc indi qurmaq üçün GCC 6.2 və ya daha yenisini tələb edir (tətbiqləri qurmaq üçün istənilən kompilyatordan istifadə edilə bilər);
  • Zəiflik düzəldildi CVE-2019-7309 üçün memcmp funksiyasının həyata keçirilməsində köhnəlmiş x32 subarxitekturası (x86 IA-32 ilə qarışdırılmamalıdır), nəticədə funksiya uyğun olmayan sətirlər üçün 0 dəyərini səhv qaytara bilər;
  • Zəiflik düzəldildi CVE-2019-9169, müəyyən normal ifadələri işləyərkən məlumatların sərhəddən kənar buferdən oxunmasına səbəb ola bilər.

Mənbə: opennet.ru

Добавить комментарий