Glibc 2.30 tizim kutubxonasi relizi

Olti oylik rivojlanishdan keyin e'lon qilindi tizim kutubxonasi chiqarilishi GNU C kutubxonasi (glibc) 2.30, bu ISO C11 va POSIX.1-2008 talablariga to'liq javob beradi. Yangi nashr 48 ta ishlab chiquvchi tomonidan tuzatilgan.

Glibc 2.30 da amalga oshirilgan uluchsheniy qayd qilishingiz mumkin:

  • Dinamik bog'lovchi umumiy ob'ektlarni oldindan yuklash uchun "--preload" variantini qo'llab-quvvatlaydi (LD_PRELOAD muhit o'zgaruvchisiga o'xshash);
  • Mavjud twalk funksiyasiga oΚ»xshash twalk_r funksiyasi qoΚ»shildi, lekin berilgan qayta qoΚ»ngΚ»iroq funksiyasiga qoΚ»shimcha argument oΚ»tkazish imkonini beradi;
  • Linux uchun yangi getdents64, gettid va tgkill funksiyalari qo'shildi;
  • Xotirani boshqarish funktsiyalari malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign va posix_memalign ob'ektning umumiy hajmi PTRDIFF_MAX qiymatidan oshib ketganda xato kodi bilan tugaydi. Bu o'zgarish ko'rsatgichni manipulyatsiya qilish natijasida ptrdiff_t turining to'lib ketishiga olib kelganda aniqlanmagan xatti-harakatlardan qochadi;
  • Qo'shilgan POSIX funksiyalari pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock va sem_clockwait, "vaqt o'rnatilgan" ekvivalentlarga o'xshash, lekin qo'shimcha ravishda taymerni tanlash uchun clockid_t parametrini oladi;

  • Unicode 12.1.0 spetsifikatsiyasini qo'llab-quvvatlash uchun kodlash ma'lumotlari, belgilar turi ma'lumotlari va transliteratsiya jadvallari yangilandi;
  • clock_gettime, clock_getres, clock_settime, clock_getcpuclockid va clock_nanosleep funksiyalari endi librt kutubxonasida yangi ilovalar uchun taqdim etilmaydi va libc ta'riflari o'rniga avtomatik ravishda ishlatiladi;
  • /etc/resolv.conf "inet6" opsiyasini bekor qildi. resolv.h dan eskirgan RES_USE_INET6, RES_INSECURE1 va RES_INSECURE2 bayroqlari olib tashlandi;
  • "--enable-bind-now" opsiyasini belgilashda o'rnatilgan dasturlar endi BIND_NOW bayrog'i yordamida bog'lanadi;
  • Linux-ga xos sys/sysctl.h sarlavha fayli va sysctl funksiyasi eskirgan va ilovalar o'rniga /proc pseudo-FS dan foydalanishi kerak;
  • Glibc endi yaratish uchun GCC 6.2 yoki undan yangiroq versiyasini talab qiladi (ilovalarni yaratish uchun har qanday kompilyatordan foydalanish mumkin);
  • Zaiflik aniqlandi CVE-2019-7309 uchun memcmp funktsiyasini amalga oshirishda eskirgan x32 subarxitekturasi (x86 IA-32 bilan adashtirmaslik kerak), buning natijasida funksiya mos kelmaydigan satrlar uchun 0 qiymatini noto'g'ri qaytarishi mumkin;
  • Zaiflik aniqlandi CVE-2019-9169, bu muayyan muntazam ifodalarni qayta ishlashda chegaradan tashqari buferdan ma'lumotlarni o'qishga olib kelishi mumkin.

Manba: opennet.ru

a Izoh qo'shish