Glibc 2.30 Системийн номын сангийн хувилбар

Зургаан сарын хөгжлийн дараа нийтэлсэн системийн номын сангийн хувилбар GNU C номын сан (glibc) 2.30, энэ нь ISO C11 болон POSIX.1-2008 стандартын шаардлагыг бүрэн хангасан. Шинэ хувилбарт 48 хөгжүүлэгчийн засварууд багтсан болно.

Glibc 2.30-д хэрэгжүүлсэн сайжруулалт чи тэмдэглэж болно.

  • Динамик холбогч нь хуваалцсан объектуудыг урьдчилан ачаалах "--preload" сонголтыг дэмждэг (LD_PRELOAD орчны хувьсагчтай төстэй);
  • Одоо байгаа twalk функцтэй төстэй twalk_r функцийг нэмсэн боловч өгөгдсөн буцаан дуудлагын функцэд нэмэлт аргумент дамжуулах боломжийг танд олгоно;
  • Линуксийн хувьд шинэ getdents64, gettid, tgkill функцууд нэмэгдсэн;
  • Санах ойн удирдлагын malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign, posix_memalign функцууд нь объектын нийт хэмжээ PTRDIFF_MAX утгаас хэтэрсэн тохиолдолд алдааны кодоор төгсдөг. Энэ өөрчлөлт нь заагчийг өөрчилсний үр дүнд ptrdiff_t төрлийн халилт үүсэх үед тодорхойгүй үйлдлээс зайлсхийдэг;
  • POSIX санал болгож буй pthread_cond_clockwait, pthread_mutex_clocklock функцуудыг нэмсэн.
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock, болон sem_clockwait нь "хугацаа тогтоосон" эквиваленттай төстэй боловч цаг хэмжигчийг сонгохдоо clockid_t параметрийг нэмж авдаг;

  • Юникод 12.1.0 тодорхойлолтыг дэмжихийн тулд кодчилолын өгөгдөл, тэмдэгтийн төрлийн мэдээлэл, галиглах хүснэгтүүд шинэчлэгдсэн;
  • clock_gettime, clock_getres, clock_settime, clock_getcpuclockid, clock_nanosleep функцууд нь шинэ програмуудын librt номын санд байхаа больсон бөгөөд оронд нь libc тодорхойлолтуудыг автоматаар ашиглах болно;
  • /etc/resolv.conf нь "inet6" сонголтыг цуцалсан. resolv.h-ээс хуучирсан RES_USE_INET6, RES_INSECURE1 болон RES_INSECURE2 тугуудыг устгасан;
  • "--enable-bind-now" сонголтыг зааж өгөх үед суулгасан программуудыг одоо BIND_NOW тугийг ашиглан холбодог;
  • Линукс-т зориулсан sys/sysctl.h толгой файл болон sysctl функцийг хуучирсан бөгөөд програмууд оронд нь /proc псевдо-FS-г ашиглах ёстой;
  • Glibc-ийг бүтээхийн тулд одоо GCC 6.2 буюу түүнээс дээш хувилбар шаардлагатай (бүтээлчийг програм бүтээхэд ашиглаж болно);
  • Эмзэг байдлыг зассан CVE-2019-7309 төлөө memcmp функцийг хэрэгжүүлэхэд хуучирсан x32 дэд бүтэц (x86 IA-32-тай андуурч болохгүй), үүний үр дүнд функц нь тохирохгүй мөрүүдэд 0 утгыг буруу буцааж болно;
  • Эмзэг байдлыг зассан CVE-2019-9169, энэ нь тодорхой тогтмол илэрхийллийг боловсруулах үед хязгаараас гарсан буферээс өгөгдлийг уншихад хүргэдэг.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх