Rilis Perpustakaan Sistem Glibc 2.30

Setelah enam bulan pengembangan diterbitkan rilis perpustakaan sistem Perpustakaan GNU C (glibc) 2.30, yang sepenuhnya mematuhi persyaratan standar ISO C11 dan POSIX.1-2008. Rilis baru ini mencakup perbaikan dari 48 pengembang.

Dari yang diimplementasikan di Glibc 2.30 perbaikan Anda dapat mencatat:

  • Linker dinamis memberikan dukungan untuk opsi β€œ--preload” untuk melakukan pramuat objek bersama (analog dengan variabel lingkungan LD_PRELOAD);
  • Menambahkan fungsi twalk_r, mirip dengan fungsi twalk yang sudah ada, tetapi memungkinkan Anda meneruskan argumen tambahan ke fungsi panggilan balik tertentu;
  • Fungsi baru getdents64, gettid dan tgkill telah ditambahkan untuk Linux;
  • Pastikan fungsi manajemen memori malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign, dan posix_memalign keluar dengan kode kesalahan ketika ukuran total objek melebihi nilai PTRDIFF_MAX. Perubahan ini menghindari perilaku tidak terdefinisi ketika hasil manipulasi pointer menyebabkan overflow tipe ptrdiff_t;
  • Menambahkan fungsi POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock dan sem_clockwait, mirip dengan padanan "waktunya", tetapi juga menerima parameter clockid_t untuk memilih pengatur waktu;

  • Data pengkodean, informasi tipe karakter, dan tabel transliterasi telah diperbarui untuk mendukung spesifikasi Unicode 12.1.0;
  • Pustaka librt tidak lagi menyediakan fungsi clock_gettime, clock_getres, clock_settime, clock_getcpuclockid, dan clock_nanosleep untuk aplikasi baru, melainkan secara otomatis menggunakan definisi di libc;
  • Opsi "inet6" telah dihapus dari /etc/resolv.conf. Menghapus flag usang RES_USE_INET6, RES_INSECURE1 dan RES_INSECURE2 dari resolv.h;
  • Saat menentukan opsi "--enable-bind-now", program yang diinstal sekarang diikat menggunakan flag BIND_NOW;
  • File header sys/sysctl.h khusus Linux dan fungsi sysctl sudah tidak digunakan lagi, dan aplikasi harus menggunakan /proc pseudo-FS sebagai gantinya;
  • Membangun Glibc sekarang memerlukan GCC 6.2 atau yang lebih baru (kompiler apa pun dapat digunakan untuk membangun aplikasi);
  • Kerentanan diperbaiki CVE-2019-7309 dalam implementasi fungsi memcmp untuk ketinggalan jaman subarsitektur x32 (jangan bingung dengan x86 IA-32), akibatnya fungsi tersebut salah mengembalikan nilai 0 untuk string yang tidak cocok;
  • Kerentanan diperbaiki CVE-2019-9169, yang dapat menyebabkan data dibaca dari area di luar batas buffer ketika ekspresi reguler tertentu diproses.

Sumber: opennet.ru

Tambah komentar