Keluaran Pustaka Sistem Glibc 2.30

Selepas enam bulan pembangunan diterbitkan keluaran perpustakaan sistem Perpustakaan GNU C (glibc) 2.30, yang mematuhi sepenuhnya keperluan piawaian ISO C11 dan POSIX.1-2008. Keluaran baharu ini termasuk pembaikan daripada 48 pembangun.

Daripada yang dilaksanakan dalam Glibc 2.30 penambahbaikan anda boleh perhatikan:

  • Penyambung dinamik menyediakan sokongan untuk pilihan "--pramuat" untuk pramuat objek kongsi (sama dengan pembolehubah persekitaran LD_PRELOAD);
  • Menambahkan fungsi twalk_r, serupa dengan fungsi twalk yang sedia ada, tetapi membenarkan anda menghantar hujah tambahan kepada fungsi panggil balik yang diberikan;
  • Fungsi baharu getdents64, gettid dan tgkill telah ditambah untuk Linux;
  • Pastikan pengurusan memori berfungsi malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign dan posix_memalign keluar dengan kod ralat apabila jumlah saiz objek melebihi nilai PTRDIFF_MAX. Perubahan ini mengelakkan tingkah laku yang tidak ditentukan apabila hasil manipulasi penunjuk membawa kepada limpahan jenis ptrdiff_t;
  • Menambahkan fungsi POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
    pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock dan sem_clockwait, serupa dengan setara "bermasa", tetapi tambahan menerima parameter clockid_t untuk memilih pemasa;

  • Data pengekodan, maklumat jenis aksara dan jadual transliterasi telah dikemas kini untuk menyokong spesifikasi Unicode 12.1.0;
  • Pustaka librt tidak lagi menyediakan fungsi clock_gettime, clock_getres, clock_settime, clock_getcpuclockid dan clock_nanosleep untuk aplikasi baharu, sebaliknya secara automatik menggunakan takrifan dalam libc;
  • Pilihan "inet6" telah dialih keluar daripada /etc/resolv.conf. Mengalih keluar bendera usang RES_USE_INET6, RES_INSECURE1 dan RES_INSECURE2 daripada resolv.h;
  • Apabila menentukan pilihan "--enable-bind-now", program yang dipasang kini terikat menggunakan bendera BIND_NOW;
  • Fail pengepala sys/sysctl.h khusus Linux dan fungsi sysctl telah ditamatkan dan aplikasi harus menggunakan /proc pseudo-FS sebaliknya;
  • Membina Glibc kini memerlukan GCC 6.2 atau lebih baharu (mana-mana pengkompil boleh digunakan untuk membina aplikasi);
  • Kerentanan diperbaiki CVE-2019 7309- dalam pelaksanaan fungsi memcmp untuk ketinggalan zaman x32 subarchitecture (jangan dikelirukan dengan x86 IA-32), akibatnya fungsi boleh salah mengembalikan nilai 0 untuk rentetan tidak sepadan;
  • Kerentanan diperbaiki CVE-2019 9169-, yang boleh menyebabkan data dibaca dari kawasan di luar sempadan penimbal apabila ungkapan biasa tertentu diproses.

Sumber: opennet.ru

Tambah komen