پس از شش ماه توسعه منتشر شد انتشار کتابخانه سیستم کتابخانه گنو سی (glibc) 2.30، که به طور کامل با الزامات استاندارد ISO C11 و POSIX.1-2008 مطابقت دارد. نسخه جدید شامل اصلاحاتی از 48 توسعه دهنده است.
از موارد اجرا شده در Glibc 2.30 بهبودها می توانید توجه داشته باشید:
پیوند دهنده پویا از گزینه "--preload" برای بارگذاری پیش بارگذاری اشیاء مشترک (مشابه با متغیر محیطی LD_PRELOAD) پشتیبانی می کند.
تابع twalk_r اضافه شده است، شبیه به تابع twalk موجود، اما به شما امکان می دهد یک آرگومان اضافی را به یک تابع callback داده شده ارسال کنید.
توابع جدید getdents64، gettid و tgkill برای لینوکس اضافه شده اند.
اطمینان حاصل کنید که توابع مدیریت حافظه malloc، calloc، realloc، reallocarray، valloc، pvalloc، memalign، و posix_memalign با کد خطا زمانی که اندازه کل شی از مقدار PTRDIFF_MAX بیشتر شود، خارج می شود. هنگامی که نتیجه دستکاری اشاره گر منجر به سرریز از نوع ptrdiff_t شود، این تغییر از رفتار نامشخص جلوگیری می کند.
اضافه شدن توابع POSIX pthread_cond_clockwait، pthread_mutex_clock،
pthread_rwlock_clockrdlock، pthread_rwlock_clockwrlock و sem_clockwait، مشابه معادلهای "زمان بندی شده"، اما علاوه بر این، پارامتر clockid_t را برای انتخاب تایمر می پذیرند.
دادههای رمزگذاری، اطلاعات نوع کاراکتر و جداول نویسهگردانی برای پشتیبانی از مشخصات یونیکد 12.1.0 بهروزرسانی شدهاند.
کتابخانه librt دیگر توابع clock_gettime، clock_getres، clock_settime، clock_getcpuclockid، و clock_nanosleep را برای برنامههای جدید ارائه نمیکند، بلکه به طور خودکار از تعاریف در libc استفاده میکند.
گزینه "inet6" از /etc/resolv.conf حذف شده است. پرچمهای منسوخ RES_USE_INET6، RES_INSECURE1 و RES_INSECURE2 از resolv.h حذف شدند.
هنگام تعیین گزینه "--enable-bind-now"، برنامه های نصب شده اکنون با استفاده از پرچم BIND_NOW محدود می شوند.
فایل هدر sys/sysctl.h مخصوص لینوکس و تابع sysctl منسوخ شده اند و برنامه ها باید به جای آن از /proc pseudo-FS استفاده کنند.
ساخت Glibc اکنون به GCC 6.2 یا جدیدتر نیاز دارد (هر کامپایلری را می توان برای ساخت برنامه استفاده کرد).
آسیب پذیری رفع شد CVE-2019-7309 در اجرای تابع memcmp برای منسوخ شده زیرمعماری x32 (نباید با x86 IA-32 اشتباه گرفته شود)، در نتیجه تابع می تواند به اشتباه مقدار 0 را برای رشته های غیر منطبق برگرداند.
آسیب پذیری رفع شد CVE-2019-9169، که می تواند باعث شود داده ها از ناحیه ای خارج از مرزهای بافر هنگام پردازش عبارات منظم خاص خوانده شوند.